|
|
π‘ Core Insight: Students don't fail from lack of knowledge β they fail from poor planning and constant distractions. FocusForge solves both.
Deep.Focus.Mode.mp4
|
Generates a full study timetable based on subject difficulty, exam dates, and your available hours. Every session includes a specific time slot, study approach, and step-by-step actions. A dedicated focus page powered by TensorFlow.js + COCO-SSD. The AI watches through your webcam and detects phone usage in real time. Get caught β instant alert. A distraction counter tracks every lapse. Not all subjects deserve equal time. The engine computes a |
Visual doughnut chart with per-subject completion bars. See your overall progress percentage, completed sessions, and remaining workload at a glance. Browser push notifications scheduled to fire at 30 min, 10 min, 5 min, and the exact moment your session starts β so you never miss a slot. Detects whether a subject is Coding, Mathematics, or Theory and generates a tailored learning approach β not just hours allocated, but how to use them effectively. |
The heart of FocusForge is its priority-weighted scheduling engine:
priority_score = difficulty_weight Γ time_sensitivity_factor|
π Difficulty Weights
|
β³ Time Sensitivity
|
Result: A Hard subject with 3 days left gets 3.5 Γ 1.5 = 5.25Γ the weight of an Easy subject with plenty of time β automatically pushed to earlier, longer, higher-priority sessions.
|
Python 3.11 |
Django 6.0 |
JavaScript |
HTML5 |
CSS3 |
SQLite |
TensorFlow.js |
βββββββββββββββββββββββββββββββββββββββββββββββ
β Browser (HTML / CSS / JS) β
β Chart.js Β· TensorFlow.js Β· Fetch API β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββ
β REST API calls
ββββββββββββββββββββββΌβββββββββββββββββββββββββ
β Django REST Framework β
β Authentication Β· Serializers Β· Views β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββ
β
ββββββββββββββββββββββΌβββββββββββββββββββββββββ
β Service Layer β
β services.py β Scheduling Algorithm β
β Priority score Β· Time allocation β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββ
β
ββββββββββββββββββββββΌβββββββββββββββββββββββββ
β SQLite Database β
β Subject Β· StudySession β
βββββββββββββββββββββββββββββββββββββββββββββββ
Clean separation of concerns β the frontend is fully decoupled from the backend via REST API. Any layer can be swapped independently.
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/subjects/ |
List all subjects |
POST |
/api/subjects/ |
Create a subject |
PUT |
/api/subjects/<id>/ |
Update subject details |
DELETE |
/api/subjects/<id>/ |
Delete a subject |
POST |
/api/generate/ |
Generate full timetable |
GET |
/api/sessions/ |
Get all study sessions |
PATCH |
/api/sessions/<id>/complete/ |
Mark session complete |
GET |
/api/progress/ |
Overall progress stats |
GET |
/api/timetable/export_pdf/ |
Export plan as PDF |
User
βββ Subject
βββ name
βββ exam_date
βββ difficulty (1=Easy Β· 2=Medium Β· 3=Hard)
βββ selected_topics (JSON array)
βββ study_start_time
βββ study_end_time
β
βΌ
StudySession
βββ date
βββ start_time / end_time
βββ hours_allocated
βββ priority_label (Critical Β· High Β· Medium Β· Low)
βββ approach
βββ technique
βββ steps (JSON array)
βββ completed (Boolean)
# 1. Clone the repository
git clone https://github.com/yashtaksale/focusforge.git
cd focusforge/studyplanner
# 2. Create and activate virtual environment
python -m venv venv
source venv/bin/activate # Mac / Linux
venv\Scripts\activate # Windows
# 3. Install dependencies
pip install -r requirements.txt
# 4. Environment setup
echo "SECRET_KEY=your-secret-key-here" > .env
echo "DEBUG=True" >> .env
# 5. Run migrations and start server
python manage.py migrate
python manage.py runserverOpen http://localhost:8000 β register an account and generate your first plan in under a minute.
focusforge/
βββ manage.py
βββ requirements.txt
βββ .env
β
βββ planner/ β main application
β βββ models.py β Subject, StudySession models
β βββ serializers.py β DRF serializers
β βββ views.py β API endpoints
β βββ services.py β π§ scheduling algorithm
β βββ urls.py
β βββ tests.py
β
βββ studyplanner/ β project configuration
β βββ settings.py
β βββ urls.py
β
βββ templates/
β βββ index.html β main dashboard
β βββ focus.html β deep focus mode
β βββ login.html
β
βββ static/
βββ css/style.css
βββ js/script.js
| Status | Feature |
|---|---|
| β Shipped | Priority-weighted timetable generation |
| β Shipped | Deep Focus Mode with AI phone detection |
| β Shipped | Progress dashboard with Chart.js |
| β Shipped | Smart browser push notifications |
| β Shipped | PDF timetable export |
| β Shipped | Topic-based session scheduling |
| π Planned | Mobile app (React Native) |
| π Planned | Cloud deployment (Render / AWS) |
| π Planned | AI-powered topic recommendations |
| π Planned | Predicted exam readiness score |
| π Planned | Collaborative study rooms |
|
Yash Taksale Computer Science Engineering |