View Project
# 🧠 CodeGod: Master the Art of Problem Solving
CodeGod is a modern, full-stack web application designed to help students, developers, and coding enthusiasts sharpen their Data Structures and Algorithms (DSA) skills through real-time code execution, curated challenges, and a streamlined user experience.
Inspired by platforms like LeetCode, HackerRank, and Codeforces, CodeGod goes beyond by providing a cleaner UI, custom-built backend logic, and community-centric features. Built with love and JavaScript, this platform brings together the power of modern technologies to create a fast, scalable, and developer-friendly coding arena.
---
## 🚀 Mission & Vision
Our Mission: To create a platform where coders at any stage of their journey—beginner or advanced—can confidently solve real-world algorithmic problems, build strong foundational logic, and prepare for technical interviews with ease.
Our Vision: To become the go-to platform for DSA practice in the 21st century by blending coding with community, mentorship, and intelligent feedback.
---
## 🔧 Tech Stack & Tools
### 🖥️ Frontend (React + TypeScript)
- React: For building fast and reusable component-driven UIs.
- React Router: For dynamic routing across problem pages, authentication flows, and dashboard views.
- Tailwind CSS: Utility-first CSS for rapid and responsive design.
- Framer Motion: Smooth, physics-based animations for UI transitions.
- Lucide React: Icon set for clean visuals.
- React Hook Form + Zod: Clean and efficient form validation, especially for signup/login and problem creation.
### 🛠️ Backend (Node.js + Express)
- Express.js: Lightweight web framework to manage routes, APIs, and middleware logic.
- Prisma ORM: Type-safe database interaction with PostgreSQL.
- JWT Auth: Secure user authentication with access and refresh token handling.
- Bcrypt: Password encryption for security.
- Rate Limiting & Validation: Protect against spam, abuse, and invalid inputs.
### 🗃️ Database
- PostgreSQL: Robust relational database for storing users, problems, submissions, and more.
- Prisma Client: For optimized DB queries and schema modeling.
### ☁️ Additional Services
- Cloudinary: (optional) for image handling in problems or tutorials.
- Code Execution Engine: A custom or sandboxed microservice (e.g., using Docker + Python/Node runners) to execute user-submitted code securely and efficiently.
- Nodemailer / SMTP: For email verifications, password resets, etc.
- Vercel / Netlify: For frontend hosting.
- Render / Railway / Fly.io: For backend and DB deployment.
---
## 🧩 Core Features
### 1. 🧪 Real-Time Code Execution
- Users can write and run code in the browser.
- Multiple language support (starting with JavaScript, Python, etc.)
- Outputs, runtime errors, and test cases shown live.
### 2. 🧠 Curated DSA Problems
- Categorized into Easy, Medium, and Hard.
- Tags like Arrays, Graphs, DP, Trees, Strings, etc.
- Clear problem statements, constraints, and test cases.
### 3. 🧍♂️ User Authentication
- Register/login using secure JWT-based auth.
- Google OAuth integration for fast onboarding.
- Password hashing with bcrypt.
### 4. 📊 Progress Tracking
- Users can see attempted problems, solved stats, and difficulty breakdown.
- Daily streaks and time-based problem-solving graphs (planned).
### 5. 🛠️ Admin Dashboard
- Add/edit/delete problems (CRUD).
- View user submissions and system metrics.
- Secure role-based access.
### 6. 📃 Submission History
- View past attempts with runtime, output, and timestamps.
- Compare old solutions to measure improvement.
### 7. 👥 Future Features (Planned)
- Contest mode with timers and leaderboard.
- Discussion forums and solution explanations.
- Bookmark and note-taking inside problems.
- Collaborative coding sessions with friends.
- AI-powered hints and feedback.
---
## 🎯 Problems CodeGod Solves
### ❌ Before CodeGod:
- Fragmented DSA prep across platforms.
- Clunky UI/UX and confusing navigation.
- Limited or paid access to core problems.
- Poor feedback on wrong answers.
- Lack of beginner-friendly onboarding.
### ✅ With CodeGod:
- Unified DSA practice space with intuitive flow.
- Lightning-fast and beautiful interface.
- Free-to-access with detailed problem curation.
- Instant feedback on code execution.
- Beginner-friendly onboarding and community focus.
---
## 🧱 System Architecture (Simplified)
```plaintext
Client (React)
⬇️ REST API Calls
Backend (Express.js)
⬇️ Prisma ORM
PostgreSQL Database
Built with