MindMend a digital well-being platform designed to help university students improve, track, and understand their mental health. It aims to provide a personalised and reliable recommendation system that supports students in managing their mental health as well as provide tools for emotional self-reflection.
Disclaimer: The system does not replace medical professionals but serves as a complementary support tool.
- Refer to environment.yml
- Once all dependencies are installed, make sure to open a Flask Shell in the terminal and run reset_db() to create the data and tables.
- Run:
flask shell
- Once in the python flask shell:
>>> reset_db()
- Run:
- Create an account via Registration Page or Login using default user (username:bob, password:bob.pw)
To register a university email will need to be used, which should end with '.ac.uk'
- Other Settings:
- Navigate to "MindMirror" Tab on Navigation Bar
- MindMirror offers a user-friendly dashboard where users can access their personal logs and collected data.
- The current focus is on emotional tracking, providing clear visualisations of mood trends and detailed insights for specific days.
- Future updates will enhance the ability to interpret and visualise physiological data; for now, users can view basic information related to this.
- Users can customise the information displayed on their dashboard by using the edit button located in the top right corner.
- The notification centre provides daily reminders to complete check-in logs and weekly updates highlighting their most frequently logged emotions. This can be found in the top left corner.
- Navigate to "Check In" Tab on Navigation Bar
- Choose Emotions: Select emotion you are feeling at the moment from 6 categories of emotions and click submit
- Add Context: Optionally add some context to how you are feeling, eg. description, activity, people and location. Submit after completing fields
- Navigate to "Screening Tool" Tab on Navigation Bar
- Start Assessment: Select all presenting symptoms that are applicable to you from the list provided, and click submit
- Complete Questionnaire: Fill up answers to the questionnaire presented to you
- Questionnaire may contain 1 or more pages, corresponding to the possible conditions
- Navigate between pages using the "Previous" and "Next" buttons at the bottom of the page
- Once completed all pages of questionnaire, click "Submit" button
- View Results:
- Each condition will have a result card, containing possibility of condition, some therapeutic recomendations and useful resources
- CheckIn - Emotion Logging
- Allows user to log their emotions regularly by selecting from an array of emotions and adding on more context to how they are feeling
- MindMirror - Insights
- System provides an summary page based on the emotion logs and optionally physiological data where user can gain personal insights of how they have been feeling through a series of generated visualizations
- Screening Tool - Self-Assessment + Guidance
- Allows user to take some diagnostic questionnaire that is tailored to the presenting symptoms they have selected and receive some therapeutic recommendations and any useful resources based on their responses to the questionnaire
- Software is divided into 4 Main Layers :
- User Interface Layer (contains all Flask routes and all HTML templates and the CSS stylesheet/JS scripts)
- Application Layer (contains all functions found in utils/General)
- Data Access Layer (contains custom managers used for database)
- Data Storage Layer (contains database)
- The Decorator design pattern is used throughout the application. Decorators, indicated by the @ symbol, are employed from both SQLAlchemy and Flask-Login. Additionally, we've created custom decorators, located in app/utils/General/helpers.py, to manage route access based on user roles. For example, in views.py, the /admin route uses this to ensure only users with the 'admin' role can access it (in the line of code: @roles_required('Admin')).
- Using Jira to facilitate this approach
- 1/2-week sprints
- Kanban board for easy task tracking
Student Name & ID | Contribution(%) | Key Contributions / Tasks Completed | Comments (if any) | Signature |
---|---|---|---|---|
Charles Anthony Ibbett 2902681 | 20% | Database, Database Access layer | CI | |
Feyi Badejo 2830160 | 20% | CheckIn | FB | |
Aravind Seeralan 2769274 | 20% | Diagnostic Screening Tool | AS | |
Romas Ibrahim Almalhi 2799948 | 20% | Diagnostic Screening Tool | RA | |
Mischa McLaughlin 2879928 | 20% | MindMirror | MM |