A web application designed to collect well-being data from university students, aiming to help create a safer and more prosperous campus environment.
- Prototype Video Demo: Watch on YouTube
- CS50 Certificate: View Certificate
This project is inspired by a CS50 final project prompt: What will my software do? What features will it have? How will it be executed?
Well-being Check is a website that gathers data from university students to help administrators and faculty make data-driven decisions, plan events, and improve the overall educational environment. The site leverages the Django web framework and integrates survey functionality to collect and analyze responses.
- Survey system for collecting student well-being data.
- Login system using Google OAuth 2.0 (only selected individuals/university accounts can access).
- Data analysis and visualization (potential for analytics dashboard).
- Modular Django app structure for scalability.
- Static files for images and assets.
- Extensible for event and activity management.
- Django (Python web framework)
- django-form-surveys for customizable survey forms
- Google OAuth 2.0 for authentication
- HTML/CSS for frontend templates
- SQLite3 (local development database, not included for privacy)
cvsu_mh/- Main Django project (admin settings, configuration)accounts/- Custom user accounts and authentication logicsurvey/- Survey app for well-being questionnairesusers/- User data and profile managementstatic/- Static assets such as imagestemplates/- HTML templates for rendering viewsstaticfiles/- Collected static files (from Django and third-party apps)
Note: The database file (
db.sqlite3) is not included in the repository for privacy reasons.
- Only university students/faculty (via Google account) can log in and participate.
- Utilizes
django-allauthfor easy integration with Google OAuth. - After login, users are redirected to the survey page.
Learning and implementing Django was both challenging and rewarding. From figuring out secure authentication (Google OAuth) to integrating third-party Django apps for surveys, this project was a hands-on experience in modern web development. AI tools and documentation were invaluable for troubleshooting and understanding new concepts.
- Good Outcome: Secure login, minimal CSS, working survey for selected users.
- Better Outcome: Improved CSS, analytics dashboard handling large data (20k+ records).
- Best Outcome: Always-live deployment, instant feedback/advice, chat support, rich data analysis, user profiles, school event feeds.
The current submission achieves the "good outcome" milestone. Future enhancements can aim for the "better" and "best" outcomes.
- Clone the repository:
git clone https://github.com/Aj-z/cvsu_mh.git cd cvsu_mh - Install dependencies:
pip install -r requirements.txt
- Configure environment variables (add your Django secret key and Google OAuth credentials).
- Run migrations:
python manage.py migrate
- Start the server:
python manage.py runserver
- CS50 Team
- The open-source Django community
- AI and documentation resources for troubleshooting
For questions or contributions, feel free to open an issue or pull request!