DEV Community

Cover image for Alleviate - DigitalOcean App Platform Hackathon
Amey Sunu
Amey Sunu

Posted on • Originally published at dev.to

Alleviate - DigitalOcean App Platform Hackathon

What I built

Alleviate is a personal journal/blogging app, inspired by Reflectly. Users can add their daily life, as a blog that would stay just personally with you. This could be shared with a therapist if you'd like and this would definitely help users overcome any sort of phobia or stress that you might be facing, as it would more likely for therapists to help you if you write it down as a blog or a journal while it's still fresh in your mind.

Category Submission:

Program for the People

App Link

https://dohack-aswsx.ondigitalocean.app/

Screenshots

Load Page

Home Page

Stats

Blog Page

Voice Note

User

Description

Alleviate is an Android app that will help users relax by allowing them to write down their daily happenings. The app also allows a voice notes feature, as it is proven that emotions are better expressed through the mouth, and if the user has a therapist, this would help the therapist understand better. As per a daily emotional basis, statistical data would be generated to determine the user's overall mood and behaviour on a weekly and monthly basis.

Features

  • Users shall be greeted and displayed with a daily motivational quote. Though many people do not read such quotes, it is highly observed that it somehow does get in your head deep down, somewhere we all don't even realize and know.

  • Users can add their daily blogs, via text as well as also using their microphone. It is more likely observed that speaking your emotions out really helps in comparison to texting.

  • Users also have the provision to add their daily mood, and statistical data will be generated based on the user's mood per week.

The Android app is built and deployed on Digital Ocean's App Platform and can be downloaded from the above link attached or here.

DO Caddy

Link to Source Code

Alleviate

Deploy to DO

Personal Blogger.

Getting Started

Deploy the app to Digital Ocean and get the apk from the generated web server. If you are a open-source contributor, follow the below steps:

  • Clone the app, and run flutter pub get.
  • Run flutter test to execute the smoke test.
  • Build the app and run on any device after the above tests.
  • Run pod install and install all the Firebase modules, which can be viewed on pubspec.yaml needed for iOS devices.

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.




Permissive License

MIT License

Background

The main inspiration for this app came from people's moods during the pandemic and the app Reflectly. Many people out there had so much they needed to express especially staying at home was really difficult for some of them. It's scientifically proven that when you speak out your feelings to someone, it definitely helps you a lot. So, I thought why not jot it down instead, just for your eyes. This would definitely help users a lot, and you can also view these blogs later to just remember that you had more terrible days before.

How I built it

The app is built on Flutter for Android Devices and Firebase Firestore for database management. I have also integrated Google Cloud Speech to Text API for the voice note feature and Google Sign-In for a seamless user login.
Initially, when I started on the project, I wasn't aware that the Digital Ocean App Platform never supported Flutter, and that devastated me. But through documentation, I figured out that the App Platform did support Docker and I could use Docker to build and deploy my apk with a web server. Hence, I prepared the Dockerfile and resources, but I had a challenge here, that was deploying the apk to a web server. I had experience with using Nginx but that wasn't turning out to be fruitful, so I decided to deploy it via Caddy, but I wasn't familiar at all with Caddy. Hence Caddy was something new that I learned.
After everything was set up, App Platform did everything for me, right from building to deploying, and it's the best CI/CD, I have ever used and the documentation to support it all just tops everything.

Additional Resources/Info

While deploying the app, it's highly recommended to take the 2 GB RAM | 1 vCPU and above configuration. The deploying can take from 15-18 minutes, hence do keep patience and also feel free to contribute to my repository.

Discussion (0)