A Flask web application for faculty classroom observation evaluations using Neo4j database.
- ✅ User authentication (faculty & admin roles)
- ✅ Faculty observation evaluation form
- ✅ PDF export of evaluations
- ✅ Dashboard with filtering & search
- ✅ Neo4j graph database backend
- ✅ CSRF protection
- ✅ Secure password hashing
├── app.py # Main Flask application
├── requirements.txt # Python dependencies
├── Procfile # Render deployment config
├── .env.example # Environment variables template
├── static/
│ ├── signatures/ # Signature uploads
│ └── uploads/ # File uploads
├── templates/ # HTML templates
│ ├── base.html
│ ├── dashboard.html
│ ├── observation.html
│ └── ...
└── README.md # This file
- Password Hashing: Uses werkzeug bcrypt encryption
- CSRF Protection: Enabled on all forms
- Environment Variables: Secrets never in code
- Secure Session: Flask sessions with secure cookies
- Python 3.8+
- Neo4j (local or Neo4j Aura cloud)
- Dependencies in
requirements.txt
- Create own observations
- View own evaluations
- Cannot modify others' evaluations
- View all observations
- Edit any observation
- Delete observations
- Manage users
# Install dependencies
pip install -r requirements.txt
# Run locally
python app.py
# Production server
gunicorn app:app