An offline-first, portable application designed for teachers to track student progress directly from a USB drive or local machine. Built with simplicity and efficiency in mind.
- Portable & Offline: Runs entirely offline with a local SQLite database. Can be run from a USB stick.
- Student Dashboard: Visual overview of student progress with colorful, intuitive cards.
- Detailed Tracking: Drill down into subjects, subtopics, and exercises. Mark items as complete with a single click.
- Admin Panel:
- Manage students (Add/Delete/Import).
- Manage courses and exercises.
- View class statistics and rankings.
- Multi-language Support: Interface available in English, French, and Spanish.
- Modern UI: Clean, responsive interface built with Flet (Flutter for Python).
- Language: Python 3.10+
- UI Framework: Flet (Flutter wrapper for Python)
- Database: SQLite (No setup required)
- Packaging: PyInstaller (For creating standalone
.exe)
-
Clone the repository:
git clone https://github.com/yourusername/PortableClassTracker.git cd PortableClassTracker -
Create a virtual environment (recommended):
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
-
Install dependencies:
pip install flet
-
Initialize the database (optional seed data):
python seed.py
-
Run the application:
python main.py
To create a standalone .exe file that includes all assets and dependencies:
-
Install build tools:
pip install pyinstaller Pillow
-
Run the build command:
python -m PyInstaller main.py --noconsole --onefile --name PortableClassTracker --add-data "assets;assets" --collect-all flet --collect-all flet_desktop --icon "assets/logo.ico"
The executable will be found in the
dist/folder.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is open-source and available under the automated MIT License.