-
-
The Welcome Screen : Choose to Login or Register
-
Login Screen : Login into the app.
-
The Home-screen with posts of people sharing tips or experiences. They can also ask problems to counsellors.
-
Discussion Thread of a Post. Here others can reply to the post.
-
The Mental Health Feed Page : Counsellors put up informative posts here for the users to read and benefit from.
-
Detailed post. On tapping any of the feed post put up by the counsellor, this page opens up where the users can read the post and upvote it.
-
The meditation streak keeper. Users can add to their streak after meditating everyday. The streak can also be reset.
Inspiration
I've been a victim of acute mental stress and depression myself. At that time I did not have any directed guidance on how to deal with it, I had my parents and friends but none of them had suffered what I was going through. So since then I had this idea in mind that there should be a platform for connecting people who are suffering or have suffered some form of mental illness so that they can talk to each other and exchange tips on dealing with the situation.
What it does
Mind Care is an app to connect people, suffering from some form of mental illness, to counsellors and other people who have suffered it before, so that they can receive genuine guidance and help.
Mind Care has a general forum where users can list their problems and receive tips on dealing with them from certified professionals(doctors, psychiatrists, counsellors) or others who have been through the same problem before. People can also share their experience on how they dealt with their mental unrest which motivate others that they can fight back too. Above all, each and every patient will have someone to talk to through these forums.
Another feature incorporated in the app is the 'Mental Health Feed' on which only certified counsellors will be able to write and post articles on various topics of mental health and self care. They can also share articles from other sources in the feed. This will be very very beneficial as it provides legitimate and verified content to the users on mental health and self care.
Finally the last feature that this app has a meditation streak tracker. Meditation is one of the most critical practice to adopt for a good mental health. The users can keep a track of their meditation journey with the help of this meditation tracker.
Overall the UI of the app has been kept pleasant and beautiful for a better User Experience.
How we built it
The app is built with the flutter framework which is written using Dart programming language. For handling backend I've used the Google Cloud service Firebase. FirebaseAuth, FirebaseFirestore and FirebaseStorage were used in the process for handling authentication, database and image storage respectively. Proper MVVM architectural design pattern has been used to keep the code clean and easy to differentiate for others.
Challenges we ran into
As I was doing this hackathon alone the first and the most major challenge was the amount of work. More than 1000 lines of code were to be written along with testing and bug fixing in a span of 48 hours. I handled this by distributing my work wisely and properly managing my time. Also kept taking breaks at regular intervals to prevent mental fatigue.
The second challenge was to setup the discussion forum and incorporate the feature of post and replies for users. This required quite a bit of work with the database scheming and also connecting the backend to the app. Various bugs popped up but luckily I was able to solve them. Once this was implemented there was not much of an issue in implementing the 'Mental Health Feed' but handling the images for the feed posts was bit of a demanding job.
Finally the last issue was of state management, this was a vital decision to take. I could have used the Provider Package for managing the state of my app but that would have required about 2-3 more hours as I had not worked with the package for quite sometime now and also as the app served just one model that was of the User therefore I decided not to use it and the state was easily handled by declaring the User model in the root app state.
Accomplishments that we're proud of
The accomplishment that I am most proud of is that I was able to code this app all by myself in such a small period of time. Though there remain some edge cases to be handled but most of them have been taken care of. Also I quite proud of the fact that event though I was using flutter after about 6 months but I was still quite proficient with it and required a comparatively lesser use of google search. I am also quite impressed with and proud of the idea behind the app and its bug free and smooth functioning.
What we learned
I learned about use of Markdown Text in flutter using which the users will be able to copy text from the articles in the Mental Health Feed and also the hyperlinks will be available to use which was not possible earlier on using the simple text widget. I also learned about the difference between documents and QuerySnapshots which were given as a result when handling database. I also learned using the Firebase Cloud Firestore instead of the Realtime Database. Finally I learned something about myself, which is I can sit and code for long hours when I am having fun!
What's next for Mind Care
I am really curious to take this idea further and discuss it with a few guys who have been working in startups from my college and get their views on it. I'll be doing more research on the topic of 'Mental Health and Self Care' and try to formulate more features which can be incorporated in the app.
Log in or sign up for Devpost to join the conversation.