Student Wellbeing App — "StuZen"
React Native, Expo, TypeScript, SQLite, Visual Paradigm
Group project for ECS506U Software Engineering at Queen Mary, University of London, from January 2026 to April 2026.
Back to PortfolioSummary
This group project was for a module in my second year at QMUL Computer Science. Working in a group of 6, we had to develop an application from the inital concept to a functional prototype. The project was broken down into 4 stages — Domain Analysis, Requirements Elicitation, Design, Prototype — with each stage being presented to our client.
Domain Analysis
Problem Statement
We conducted research on our target demographic, students. I researched the current mental health app market and young people's mobile phone usage, and how it affects our motivations for developing our app.
Solution
With my group, we discussed the ideal solution to the issues we found, and decided on some key features, including:
- Sleep and mood tracking
- Daily journalling
- Routine and task management
- External advice pages
- Focus on privacy (locally stored data)
We found that many competing software did not specifically target students' needs, as well as not being fully privacy-oriented with previous violations.
Requirements Elicitation
We created a use case diagram with all of the necessary features of our application, as well as describe key use cases to our client during the presentation.
I worked on establishing our key functional requirements. The rest of my team focused on non-functional requirements and a risk assessment of our project.
Design
We created a class diagram to describe relationships between the parts of our application, dicussed our design decisions and design patterns to use.
I worked on a sequence diagram to show the process of exporting journal entry data from the application.
Prototype
Over 6 weeks, our group developed a fully-functional, cross-platform prototype application using the Expo framework in React Native. We used Git and GitHub for version control.
I worked on the sleep tracking feature: allowing the user to add, edit, and delete sleep logs from a local SQLite database, set a sleep goal and update the screen to show when goals were met. I also worked on the GUI, making all UI components consistently styled across the application.
Personal Reflection
This semester-long group project gave me a lot of insight into how software is developed from start to finish. We worked well as a team to work on and present our findings throughout, even when working with tight deadlines. I am pleased with the outcome of this project — our presentations were well-received by our client and received top marks.
For our prototype, we did not include every feature mentioned in our design, but we laid the groundwork for the project to be iteratively developed in the future.
I had never used the Expo framework, nor React Native (only React), so I learnt a lot about mobile-specific development and the unique considerations that have to be made for native mobile apps. For example, the use of safe areas to ensure that app content does not overlap with the phone's interface.
I have gained valuable experience in mobile app development and I aim to put the knowledge I gained in this project towards my future projects and assignments.