A comprehensive competitive programming platform designed for coders of all levels, featuring live contests, algorithm visualizations, mock interviews, AI assistance, and cross-platform integration.
| Frontend Library | Vite+React.js | 19.2.0 |
| Backend Framework | Django | 4.0+ |
| Database | MongoDB | 4.6+ |
| Real-Time | Redis | 5.0+ |
| Tools & Languages | Python | 3.9+ |
| User | Solve problems, participate in contests, write blogs, and track progress |
| Admin | Manages the entire platform, creates contests, approves problems, and user governance |
- Create and participate in live coding contests with real-time leaderboards
- Multiple contest formats: public, private, virtual participation
- Automatic time synchronization and penalty calculation
- Contest clarifications and announcements
- Post-contest editorials and solution discussions
- Extensive problem library with difficulty-based categorization
- Support for multiple programming languages (C++, Python, Java)
- Real-time code execution with detailed verdicts (AC, WA, TLE, MLE, RE, CE)
- Test case visibility and debugging support
- Sync profiles from Codeforces, LeetCode, AtCoder, CodeChef, HackerRank
- Unified analytics across all competitive programming platforms
- Aggregated contest calendar from multiple sources
- Cross-platform rating tracking and statistics
- Interactive visualizations for sorting, graph, and tree algorithms
- Step-by-step execution tracing with variable monitoring
- Memory visualization and call stack display
- Custom input support and animation speed control
- Timed interview sessions with company-specific problems
- Built-in video conferencing via WebRTC
- Peer-to-peer and mentor-guided interview practice
- Performance feedback and improvement tracking
- Intelligent coding assistance and debugging help
- Algorithm explanations and concept clarification
- Problem hints without revealing full solutions
- Personalized learning resource recommendations
- ML-powered personalized problem suggestions
- Difficulty prediction using trained models
- Weak area identification and skill gap analysis
- Progressive learning paths tailored to your level
- Blog system for sharing tutorials and insights
- Discussion forums for problems and topics
- User contributions tracking and recognition
- Real-time chat and clarification system
- Comprehensive performance analytics with interactive charts
- Problem-solving streaks and activity heatmaps
- Topic-wise strength and weakness analysis
- Verdict distribution and error pattern tracking
- User management with ban/unban capabilities
- Content moderation and problem approval workflow
- Platform statistics and usage analytics
- Announcement broadcasting and report handling
$\large\textbf{\color{#00D9FF}{File Structure}}$
zeropoint/
├── Client/
│ ├── public/
│ ├── src/
│ │ ├── assets/
│ │ ├── components/
│ │ ├── context/
│ │ ├── hooks/
│ │ ├── pages/
│ │ ├── services/
│ │ ├── utils/
│ │ ├── App.jsx
│ │ ├── index.css
│ │ └── main.jsx
│ ├── .env
│ ├── index.html
│ ├── package.json
│ └── vite.config.js
├── Server/
│ ├── account/
│ ├── admin/
│ ├── announcement/
│ ├── blog/
│ ├── Chatapp/
│ ├── clarification/
│ ├── compiler/
│ ├── contest/
│ ├── contribution/
│ ├── crossPlatform/
│ ├── difficulty_prediction/
│ ├── discussion/
│ ├── docker/
│ ├── executor/
│ ├── ide/
│ ├── leaderboard/
│ ├── mock_interview/
│ ├── notification/
│ ├── pdf/
│ ├── problem/
│ ├── public_leaderboard/
│ ├── recommendation/
│ ├── report/
│ ├── submission/
│ ├── testcase/
│ ├── testcontest/
│ ├── tutorial/
│ ├── utils/
│ ├── videoconference/
│ ├── virtual/
│ ├── zeropoint/
│ ├── manage.py
│ └── requirements.txt
├── .gitignore
└── README.mdClone the repository or download the zip file, then extract it in a folder.
-
Install
Python(v3.9+) andNode.js(v16+). -
Open an account at
MongoDB Atlasand collect the credentials. -
Open account in
Cloudinaryand collect credentials from there. -
Then download Redis from
redis-release(use the latest zip version). Extract the files fromredis-releasezip file. Then click onredis-server.exe. To check the server is running or not:Open the command prompt, write:
cd "path\to\extracted folder" redis-cli ping
Or directly open
redis-cli.exe. Then writeping. If it results inPONG, then the Redis server is connected successfully.Successful connection example:
127.0.0.1:6379> ping PONG 127.0.0.1:6379>
[!TIP]
If theredis-server.exeisn't running, go to Task Manager (Run as administrator).- Search for something like
redis. - If it's on, click on
end task.
If it still doesn't work, try checking that port
6379is already running or not:- Open command prompt.
- Run:
If you see something like this, means this port is already in use.
netstat -aon | findstr :6379
- Kill this port (change the PID according to the output): ```console taskkill /PID 14220 /F ``` - Then try refreshing the PC and run the `redis-server.exe` again.$\large\text{\color{#76DCF1}{Proto}}$ $\large\text{\color{#76DCF1}{Local Address}}$ $\large\text{\color{#76DCF1}{Foreign Address}}$ $\large\text{\color{#76DCF1}{State}}$ $\large\text{\color{#76DCF1}{PID}}$ TCP 0.0.0.0:6379 0.0.0.0:0 LISTENING 14220 TCP [::]:6379 [::]:0 LISTENING 14220 - Search for something like
Then go to the directory path (where the code is):
cd "path\to\directory"Then open right-click and click open in Terminal. Then in terminal run:
code .This will directly take you to the VS Code interface. In Server directory, open terminal and run:
For Linux/MacOS:
python -m venv env
source env/bin/activateFor Windows:
python -m venv env
.\env\Scripts\activateWhich will create the environment. Inside this, install the dependencies:
pip install -r requirements.txtThis will install all the pip dependencies required to run this code. If it doesn't work, run this in Command Prompt or in VS Code Terminal:
pip install Django djangorestframework mongoengine pymongo PyJWT python-dotenv requests pytz cloudinary django-cors-headers channels channels-redis django-redis redis daphne gunicorn beautifulsoup4 lxml google-generativeai numpy scikit-learn pandas joblibThen run in Server directory:
daphne zeropoint.asgi:applicationIf it's missing the static directory it will give this error:
django.core.exceptions.ImproperlyConfigured:
You're using the staticfiles app without having set the required STATIC_URL setting.This happens when:
django.contrib.staticfilesis inINSTALLED_APPS- But forgot to define
STATIC_URL(and optionallySTATICFILES_DIRS)
Add this to settings.py:
import os
# Required
STATIC_URL = '/static/'
# Optional (for development)
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
# Optional (for production use)
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')Create the static directory (if needed):
mkdir staticIn Client directory, open terminal and run:
npm install
npm run devMake sure Vite is installed as a dev dependency in your project. Check package.json inside Client/. If something like this is present:
"devDependencies": {
"vite": "^7.1.2", // or another version
...
}It means Vite is present. If it's missing, install it:
npm install vite --save-devTip
To fix vulnerabilities, run this:
npm audit fixOr to fix all issues automatically (including breaking changes):
npm audit fix --forceCaution
Be cautious with --force. It may upgrade packages that break the project.
and serve it with Django or a production web server. Don't deploy with npm run build.
Important
- This project uses
ASGI(notWSGI), and runs via Daphne instead ofpython manage.py runserver. Redis&MongoDBmust be running before you start the app.
Note
The app runs on port 8000 by default. If port is taken, use daphne -b 127.0.0.1 -p 8080 zeropoint.asgi:application.
You can change the port (-p) or host (-b) as needed.
Create a .env file inside Server/ directory with your configuration values for:
MONGO_DB_NAMEMONGO_URICLOUDINARY_CLOUD_NAMECLOUDINARY_API_KEYCLOUDINARY_API_SECRETSECRET_KEY
List this in .env file inside Client/ directory:
VITE_API_URL=<your_backend_url>Warning
Do not commit .env files to GitHub. Add them to .gitignore.
| Ramisa Anan Rahman | 220042105 |
Cross-Platform Problem Solving, Blogging, Analytic Dashboard, Problem Recommendation |
| Ridika Naznin | 220042115 |
Contest Hosting & Proctoring, Leaderboard, Community & Discussion, Coding Help Chatbot |
| Afrin Jahan Era | 220042132 |
Algorithom,I/o & Code Visualizer, Mock Interview, Admin (Report and ban user), Problem Difficulty Prediction |
Happy Coding!
ZeroPoint - Elevate Your Competitive Programming Journey