Student Wellbeing Project The university is exploring ways to better understand and support student wellbeing. At present, data such as lecture attendance, coursework submissions, and optional weekly wellbeing surveys are collected separately, but there is no single system to combine or analyse these data sources. The Student Wellbeing Office has therefore asked your development team to design and implement a small prototype system. The system should:
- Collect and store data according to your requirement analysis – e.g. weekly attendance, submission deadlines, survey responses (e.g. stress levels 1–5, hours slept).
- Provide simple analytics – e.g. calculate average attendance per student, identify weeks with higher stress levels, or visualise changes over time.
- Allow the authorised users to create, read, update and delete (CRUD) the data. The prototype does not need to be production-ready. Still, it should demonstrate how such a system could be developed in Python, with a relational database backend, and include some simple data analysis and visualisation features.
To set up the project locally, follow these steps:
- Clone the repository or download the source code.
- Create a virtual environment:
python3 -m venv .venv
- Activate the virtual environment:
- On macOS/Linux:
source .venv/bin/activate - On Windows:
.venv\Scripts\activate
- On macOS/Linux:
- Install dependencies:
pip install -r requirements.txt
- Seed the database:
python seed_db.py
To run the application:
streamlit run app.pyTo run the tests:
pytest