- Introduction
- Requirements
- Technologies & Tools
- Cloud Deployment
- Technical Approach
- Risks & Challenges
- Demonstrations
- Contacts
LopesTalk is a mental health app designed to empower students to prioritize their well-being through fun and engaging self-care activities. Our mission is to help students succeed in their academic and personal goals by focusing on self-care, one task at a time. As Lopers, we are passionate about making a positive impact in the GCU community and beyond, and we believe that by taking care of ourselves, we can better support and care for those around us. With our innovative approach and commitment to mental health, LopesTalk is here to help students thrive.
- Users can sign up for an account
- Users can log into their account
- Users can access a variety of self-care paths and tasks
- Users will be able to see the LopesTalk mascot 'Lopey' on home screen
- Users can see a daily motivaitonal quote with author
- Users can add/delete/update tasks for journey paths
- The app should be responsive and connected 80% during the month
- The app should be responsive and work well on different Android devices: (mobile, tablet)
- The app should be fast and responsive, with minimal lag or delay
LopesTalk is built using the following technologies and tools:
- Flutter [v3.7.10]
- Dart [2.19.6]
- Spring Boot [3.0.5]
- MongoDB.Driver [v2.15.0]
- Java [v17.0]
- MongoDB Atlas
- Hosting
- AWS Hosting Elastic Beanstalk Service
- Other Tools
- Postman \[v10.12.13]
- Swagger \[3.0]
- UpTimeRobot Monitoring
- VSCode IDE \[v1.77.3]
LopesTalk is deployed on the cloud using the following services:
The Flutter app is deployed through the Google Play Store.
The custom API is deployed on AWS Elastic Beanstalk, a cloud platform as a service (PaaS) that allows us to easily deploy and scale web applications.
To allow cross-origin requests from the Flutter app to the API
LopesTalk uses UptimeRobot to monitor errors and exceptions that occur in the app.
Our application follows a client-server architecture, with the Flutter framework serving as the client and Spring Boot serving as the server. The client-server architecture allows for a clear separation of concerns between the user interface and the application logic.
In terms of development methodology, we have opted for a waterfall approach. This approach emphasizes a linear, sequential process where each stage of the development process (requirements, design, implementation, testing, and deployment) is completed before moving on to the next stage. While this approach may not be as flexible as Agile, it allows for well-defined requirements and a fixed scope.
We are also following a modular design pattern, which allows us to break down the application into smaller, reusable components. This makes it easier to maintain and update the codebase over time.
Finally, we are using MongoDB Atlas as our database. This cloud-based database service provides us with a scalable, secure, and reliable database solution for our application.
Figure 1: Logical Architecture Diagram Figure 2: Physical Solution Diagram Figure 3: Schema Diagram Figure 4: Sitemap Diagram < Figure 5: UML Diagram A few challenges when writing the app was the following:
- Investing in a cloud server- AWS
- Hosting on a cloud server
- Monitoring app uptime
- Learning a new open source software platform - Flutter
- Investing into graphic design(paying artist)
- Investing to be able to publish on the Google Play Store
- Implementing an external API for Quotes
A few risks when writing the app was the following:
- Before I could get LopesTalk up and running one risk was the idea of using Flutter. If it wasn't a good fit I was going to need to switch to another application such as Android Studio.
- One risk of building LopesTalk was the the mascot. I wanted to give the users a virtual friend but drawing wise I struggle. I was able to buy some art from a friend to give users Lopey!
- Another risk was the idea of implementing an external API. This would save me time instead of having to fully create an API by scratch for motivational quotes.
One of the main challenges in developing LopesTalk is creating engaging and effective self-care resources that resonate with students. To tackle this, I researched various self-care routes and gathered relevant examples. Providing users with a clear understanding of each path with tasks.