Skip to content

Centinoughty/letscode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

117 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Letscode

A real-time collaborative coding platform built for developers to code together seamlessly.

Overview

Letscode is a real-time code collaboration platform that enables multiple developers to work on the same code editor simultaneously. It combines live editing, secure authentication, collaborative sessions to create a smooth developer experience.

The platform is designed with a modern full-stack architecture using:

  • Frontend: Next.js
  • Backend: Express.js with TypeScrit
  • Database: PostgreSQL
  • ORM: Prisma ORM

Project Structure

letscode/
├── client/                 # Next.js frontend
├── server/                 # Express backend
├── .env
├── docker-compose.yml
├── README.md

Installation

1. Environment Variables

Create .env file by copying keys from .env.example in root, client and server. The .env.example file will have the details on how to get the values for the keys.

2. Clone the Repository

git clone https://github.com/Centinoughty/letscode.git # for https based cloning

or

git clone git@github.com:Centinoughty/letscode.git # for ssh based cloning

3. Install dependancies

a. Docker based (recommended)

This will create the image which are needed for running our application.

docker compose build

b. Native installation

Server

cd server
npm install

Client

cd client
npm install

You need to create a postgres DB natively using psql

c. Database Setup

Run prisma migrations

cd server
npx prisma migrate dev --name init

Generate prisma client

npx prisma generate

4. Running the application

a. Docker (recommended)

Start all services

docker compose up -d --build

Run in detached mode

docker compose up -d

To see the logs,

docker compose logs

Stop services

docker compose down

b. Native

Server

cd server
npm run dev

Client

npm run dev

About

Letscode is a collaborative coding platform for practicing programming skills. It supports Python and C++ code execution in isolated containers, real-time collaboration, and secure environments. Built with Next.js, Express.js, and PostgreSQL, it enables learners to write, test, and debug code together.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages