A real-time collaborative coding platform for seamless multi-user code editing, instant synchronization, code execution in multiple languages, and secure user authentication.
- Real-time collaborative code editing with WebSocket
- Code execution in JavaScript, Python, and TypeScript
- Secure user authentication and session management
- File system operations and project sharing
- Dockerized execution environment for isolation
- Responsive UI with modern design
- Frontend: React, TypeScript, Vite, HTML, CSS
- Backend: Node.js, TypeScript, Express.js, WebSocket
- Database: PostgreSQL
- Authentication: Passport.js
- Deployment: Docker, Vercel
- Other: ESLint, Email service
- Node.js (v16 or higher)
- PostgreSQL
- Docker (for execution service)
-
Clone the repository:
git clone https://github.com/Ankushkr14/DevPlayground.git cd DevPlayground -
Install client dependencies:
cd client npm install -
Install server dependencies:
cd server npm install -
Set up environment variables:
- Copy
.env.exampleto.envin both client and server directories - Fill in your database URL, JWT secrets, etc.
- Copy
-
Set up the database:
- Run the SQL queries in
server/db_queries/queries.sql
- Run the SQL queries in
-
Start the development servers:
- Server:
npm run dev - Client:
cd ../client && npm run dev
- Server:
- Open the client at
http://localhost:5173 - Register/Login
- Create or join a coding session
- Start collaborating in real-time
- Execute code in supported languages
The backend provides RESTful APIs for:
- Authentication (
/auth) - File operations (
/fs) - Sessions (
/session) - Sharing (
/share) - Templates (
/template)