Skip to content

soumadip-dev/Logiqo-PERN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


Logiqo πŸ–₯️

Logiqo is a LeetCode-inspired platform for developers to practice coding in JavaScript, Python, and Java.

Landing Page Home Page
Problem Page Profile page

🌐 Live Demo

Logiqo

🌟 Features

  • Interactive Code Editor – Built with Monaco Editor for real-time coding and testing.
  • Detailed Problem Descriptions – Includes explanations, examples, constraints, and hints for each challenge.
  • Automated Test Cases – Runs predefined tests to validate solutions.
  • Multi-Language Support – Supports JavaScript, Python, and Java.
  • Submission Tracking – Displays memory usage, runtime, and status (Accepted, Wrong Answer, etc.).
  • Profile Section – View personal details and track solved problems and playlists.
  • Playlist Creation – Create and organize custom playlists by topic or difficulty.
  • Responsive Design – Optimized for all devices with a modern UI.

βš™οΈ Tech Stack

  • Frontend: React.js, Tailwind CSS, Monaco Editor, Zustand, Zod, React Hook Form
  • Backend: Node.js, Express.js
  • Database: PostgreSQL with Prisma ORM (supports Docker or Neon DB)
  • Authentication: JWT (JSON Web Tokens)
  • Code Execution: Judge0 API (via RapidAPI)

πŸ› οΈ Installation & Setup

Prerequisites

  • Node.js (v18+)
  • npm or yarn
  • PostgreSQL database
  • RapidAPI account for Judge0 API

1. Clone the repository

git clone https://github.com/soumadip-dev/Logiqo-PERN.git
cd Logiqo-PERN

2. Backend Setup

cd server
npm install

Create a .env file in the server directory:

PORT=<server_port>
FRONTEND_URL=<frontend_url>
DATABASE_URL=<database_url>
NODE_ENV=<development|production>
JWT_TOKEN_SECRET=<your_random_secret_key>
JWT_TOKEN_EXPIRY=<token_expiry_duration>
RAPIDAPI_KEY=<your_rapidapi_key_judge0>
RAPIDAPI_HOST=<your_rapidapi_host_judge0>
JUDGE0_API_URL=<your_judge0_api_url>

3. Frontend Setup

cd ../client
npm install

Create a .env file in the frontend directory with:

VITE_BACKEND_URL=<YOUR_BACKEND_URL>
VITE_FRONTEND_URL=<YOUR_FRONTEND_URL>

4. Run the Application

  • Backend (Terminal 1):
cd server
npm run dev
  • Frontend (Terminal 2):
cd client
npm run dev

About

A platform to master data structures and algorithms through interactive challenges and real-time feedback.

Topics

Resources

Stars

Watchers

Forks

Languages