Skip to content

LeetCode Clone is a web app for solving coding problems with real-time code execution. It uses React, TypeScript, and Monaco Editor on the frontend, and NestJS, Prisma, and PostgreSQL on the backend. Code runs securely in isolated Docker containers.

License

Notifications You must be signed in to change notification settings

naman22a/leetcode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧑‍💻 Leetcode

Coding practice platform

LeetCode Clone is a web app for solving coding problems with real-time code execution. It uses React, TypeScript, and Monaco Editor on the frontend, and NestJS, Prisma, and PostgreSQL on the backend. Code runs securely in isolated Docker containers.

Leetcode

⚙️ Tech Stack

  1. 🌐 Frontend

    • ⚛️ React
    • 🔷 Typescript
    • 📝 Monaco Editor
    • 🎨 Shadcn UI
    • 📨 React Query
  2. 🛜 Backend

    • 🪹 Nest JS
    • 🔷 Typescript
    • 🐋 Docker
    • 📗 Prisma
    • 🐘 PostgreSQL

📁 Project Structure

.
├── assets
│   └── leetcode.png
├── client
│   ├── public/
│   ├── src
│   │   ├── api/
│   │   ├── components/
│   │   ├── lib/
│   │   ├── pages/
│   │   ├── styles/
│   │   ├── utils/
│   │   ├── App.tsx
│   │   └── main.tsx
│   ├── .env.example
│   ├── components.json
│   ├── eslint.config.js
│   ├── index.html
│   ├── package.json
│   ├── postcss.config.js
│   ├── tailwind.config.js
│   ├── tsconfig.app.json
│   ├── tsconfig.json
│   ├── tsconfig.node.json
│   ├── vercel.json
│   ├── vite.config.ts
│   └── yarn.lock
├── server
│   ├── prisma/
│   ├── src
│   │   ├── auth/
│   │   ├── common/
│   │   ├── config/
│   │   ├── modules/
│   │   ├── prisma/
│   │   ├── shared/
│   │   ├── app.module.ts
│   │   └── main.ts
│   ├── test/
│   ├── typings/
│   ├── .env.example
│   ├── nest-cli.json
│   ├── package.json
│   ├── tsconfig.build.json
│   ├── tsconfig.json
│   ├── typings
│   └── yarn.lock
├── .gitignore
├── LICENSE
└── README.md

🚶🏻‍♂️ Getting started and 🏃🏻‍♂️ Running the app

Clone the repo

$ git clone https://github.com/naman22a/leetcode
$ cd leetcode

Server setup

  • Install NodeJS
  • Install PotgreSQL and create a database named leetcode
  • Install Redis
  • Install Docker
$ cd server
$ cp .env.example .env # add env variables
$ yarn install
$ yarn prisma migrate dev
$ yarn dev

Client setup

  • Install NodeJS
$ cd client
$ cp .env.example .env # add env variables
$ yarn install
$ yarn dev

🤝 Contributions

Contributions, issues, and suggestions are welcome! Feel free to fork the repository and submit pull requests.

📫 Stay in touch

🗒️ License

Leetcode is GPL V3

About

LeetCode Clone is a web app for solving coding problems with real-time code execution. It uses React, TypeScript, and Monaco Editor on the frontend, and NestJS, Prisma, and PostgreSQL on the backend. Code runs securely in isolated Docker containers.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published