A web application for managing student data in educator preparation programs. Built for Institutions of Higher Education (IHEs), it provides CSV upload, role-based access, and record management through a centralized, configuration-driven architecture.
| Layer | Technology |
|---|---|
| Frontend | Next.js (React) |
| Backend | Python / Flask (Gunicorn) |
| Database | PostgreSQL 15 |
| Proxy/TLS | Caddy |
| Process | supervisord (PostgreSQL + Flask in one container) |
| Deploy | Docker Compose |
git clone <repo-url>
cd teacher-preparation-data-interface
cp .env.example .env # Edit .env — set DOMAIN, generate secrets
./deploy.sh # Builds and starts all containers
# Access at https://localhost (or your DOMAIN)See docs/deployment.md for the full deployment guide.
| Document | Description |
|---|---|
| Deployment Guide | Prerequisites, .env configuration, Caddyfile/TLS, deploy steps |
| Updating & Backups | Update script, backup, restore, post-update verification |
| Configuration Reference | .env variables, config.yaml structure, read_config.py modes |
| User Guide | Login, CSV upload, search, edit, export |
| Admin Guide | User management (API), roles, bootstrap |
| Architecture | Project structure, service topology, build pipeline |
| Changelog | Release history and known issues |
This project is licensed under the Apache 2.0 License. See the LICENSE for details.
Contributions are welcome. Fork the repository and open a pull request. Ensure your code follows existing conventions and includes appropriate tests.