A real-time collaborative PowerPoint-style presentation editor built with React, Tailwind CSS, and WebSocket.
🌐 Online Demo: https://online-ppt-editor.vercel.app
- 🎨 Drag-and-drop slide editing with live preview
- 👥 Real-time multi-user collaboration (WebSocket)
- 🔄 State management with Redux Toolkit
- 💅 Modern UI with Tailwind CSS & NextUI
- 🧪 Unit & E2E testing (Vitest + Cypress)
- 🚀 CI/CD with GitHub + Vercel
- 🐳 Dockerized for production environments
- Frontend: React 18, Tailwind CSS, Vite
- State: Redux Toolkit
- Real-time: WebSocket via Socket.IO
- CI/CD: GitHub Actions + Vercel
- Docker: Lightweight containerized frontend
npm install
npm run devAccess at: http://localhost:5173
npm run build
npm run previewdocker build -t ppt-frontend .docker run -d -p 5173:80 ppt-frontend# Dockerfile
FROM node:18-alpine AS builder
WORKDIR /app
COPY . .
RUN npm install && npm run build
FROM nginx:alpine
COPY --from=builder /app/dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]- The frontend is deployed via Vercel.
- GitHub pushes to the
mainbranch automatically trigger Vercel redeployment. - No need to write your own workflow — Vercel handles it automatically after connecting your repo.
src/
├── components/ # Reusable UI components
├── pages/ # Main page views
├── hooks/ # Custom React hooks
├── store/ # Redux Toolkit store & slices
└── assets/ # Static resources
MIT License