A personal productivity tool for teachers — plan lessons, collect anonymous student feedback, track your attendance, and manage your salary and expenses, all in one place.
Built with Django + plain HTML/CSS/JS. Uses SQLite locally and switches to Postgres automatically when deployed.
| Area | What it does |
|---|---|
| Dashboard | Balance, monthly spending, average feedback, attendance, and charts at a glance |
| Class-Subjects | One page per subject-in-a-class, tying together lesson plans + feedback |
| Lesson plans | Objectives, materials, homework, assessment; reusable templates; Draft/Taught status |
| Feedback | Anonymous daily ratings via a shareable link + QR code (5 dimensions, 1–5) |
| Attendance | Present by default — just tap a day to mark yourself absent |
| Finance | Record salary and expenses; running balance and monthly breakdown (NPR) |
You need Python 3.12+. These commands go in the VS Code terminal
(Terminal → New Terminal), run from the project folder.
uv venv
# Activate it:
# Windows (PowerShell): .venv\Scripts\Activate.ps1
# macOS/Linux: source .venv/bin/activate
uv pip install -r requirements.txt
python manage.py migrate
python manage.py runserverpython -m venv .venv
# Activate (see commands above), then:
pip install -r requirements.txt
python manage.py migrate
python manage.py runserverNow open http://127.0.0.1:8000 in your browser.
- Click Create an account on the login page to make your teacher login.
- That's it — start adding class-subjects.
Optional: to use the
/adminarea, create an admin user withpython manage.py createsuperuser.
Copy .env.example to .env if you want to set your own SECRET_KEY.
Locally you can ignore the database settings — the app uses SQLite automatically.
- Create a new empty repository on GitHub (no README, since you already have one).
- In the VS Code terminal:
git init
git add .
git commit -m "MyTracker initial commit"
git branch -M main
git remote add origin https://github.com/YOUR-USERNAME/YOUR-REPO.git
git push -u origin maindb.sqlite3 and .env are already in .gitignore, so your local data and secrets
won't be uploaded.
If the Postgres step feels like too much, PythonAnywhere runs Django with SQLite directly on its free tier — no separate database needed.
- Sign up at https://www.pythonanywhere.com (free "Beginner" account).
- Upload your project (or pull from GitHub in a Bash console).
- Create a virtualenv and
pip install -r requirements.txt. - Add a Web app → Manual config (Django), point it at
mytracker/wsgi.py, set the virtualenv path, runpython manage.py migrate, and reload.
Full guide: https://help.pythonanywhere.com/pages/DeployExistingDjangoProject/
mytracker/
├── mytracker/ # project settings, urls, wsgi
├── accounts/ # login, signup, profile/settings
├── courses/ # class-subjects (the hub)
├── lessons/ # lesson plans + templates
├── feedback/ # anonymous feedback + QR codes
├── attendance/ # present/absent calendar
├── finance/ # salary, expenses, balance
├── dashboard/ # analytics home
├── templates/ # base layout + auth pages
├── static/css/ # the design system
├── requirements.txt
├── vercel.json # Vercel deploy config
├── build_files.sh # runs on Vercel (collectstatic + migrate)
└── .env.example
The feedback is stored as numeric trends so a future version can add AI features (suggest improvements, recommend techniques, auto-draft lesson plans, summarise trends) on top — using your Groq/LangChain stack.