Skip to content

MishtiGarg250/CodePerfect

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 

Repository files navigation

CodePerfect

A full-stack platform for coding practice, progress tracking, and daily logs.

image

Project Overview

CodePerfect is a web application that allows users to:

  • Practice coding problems by category and difficulty
  • Bookmark and mark problems as complete
  • Track progress and daily activity
  • Authenticate securely (login/register)
  • Enjoy a modern, responsive UI
  • see their daily summaries of progress and give recommendations as well
  • allows user to see their last 7 day logs
  • navigate to different problem pages with their voice

Features

  • Frontend: React (TypeScript), Vite, Tailwind CSS
  • Backend: Node.js, Express, MongoDB, Mongoose
  • Authentication: JWT-based, secure endpoints
  • Rate Limiting: Prevents brute-force and abuse
  • UI/UX: Custom animations, dark/light mode
  • API: RESTful endpoints for user, content, progress, bookmarks, and logs

Getting Started

Prerequisites

  • Node.js (v18+ recommended)
  • npm or yarn
  • MongoDB (local or Atlas)

Installation

  1. Clone the repository:
    git clone "https://github.com/MishtiGarg250/CodePerfect"
    cd CodePerfect
  2. Install backend dependencies:
    cd backend
    npm install
  3. Install frontend dependencies:
    cd ../client
    npm install
  4. Set up environment variables:
    • See .env.example in both backend/ and client/ for required variables.

Running the App

  • Backend:
    cd backend
    npm start
  • Frontend:
    cd client
    npm run dev

Seeding the Database

  • Run the seed script in backend/ to populate initial problems and categories:
    node seed.js

Folder Structure

backend/
  controllers/
  middleware/
  models/
  routes/
  config/
  server.js
  ...
client/
  src/
    components/
    pages/
    api/
    useVoicePagination.ts
    main.tsx
    App.tsx
    index.html
    ...
  public/
  ...

Author

  • Name: Mishti Garg
  • Enrollment Number: IEC2024039

License

This project is for educational purposes.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published