lopes-talk / lopes-talk

LopesTalk is a mental health app for GCU students designed to provide resources for self-care and motivation. With features like a virtual friend, self-care paths, and a daily quote, LopesTalk aims to support students' mental wellness. Developed using Flutter and Spring Boot, LopesTalk is in the process of being deployed to the Google Play Store.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LopesTalk LOGO

LopesTalk Project Portfolio

LopesTalk LOGO

Jesseña Quiñones

Table of Contents

Introduction

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.

Requirements

Functional Requirements

  • 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

Non-Functional Requirements (NFRs)

  • 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

Technologies & Tools

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]

    Cloud Deployment

    LopesTalk is deployed on the cloud using the following services:

    Frontend (Flutter App)

    The Flutter app is deployed through the Google Play Store.

    Backend (Spring Boot)

    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.

    Cross-Origin Resource Sharing (CORS)

    To allow cross-origin requests from the Flutter app to the API

    Monitoring

    LopesTalk uses UptimeRobot to monitor errors and exceptions that occur in the app.

    Technical Approach

    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.

    Logical Architecture Diagram Figure 1: Logical Architecture Diagram Physical Solution Diagram Figure 2: Physical Solution Diagram Schema Diagram Figure 3: Schema Diagram
    Sitemap Diagram Figure 4: Sitemap Diagram < UML Diagram Figure 5: UML Diagram

    Risks & Challenges

    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.

    Demonstrations

    Final Project Completion and Presentation

    LopesTalk Benchmark

    Contacts

About

LopesTalk is a mental health app for GCU students designed to provide resources for self-care and motivation. With features like a virtual friend, self-care paths, and a daily quote, LopesTalk aims to support students' mental wellness. Developed using Flutter and Spring Boot, LopesTalk is in the process of being deployed to the Google Play Store.


Languages

Language:Dart 43.1%Language:Java 30.4%Language:C++ 12.9%Language:CMake 10.6%Language:HTML 1.1%Language:C 0.8%Language:Swift 0.7%Language:Dockerfile 0.2%Language:Kotlin 0.1%Language:Objective-C 0.0%