Happy Care
Online Health Consultation Application built with Flutter for Client, ExpressJs for Backend Server (private repo sorry
Features
- Finding doctors, specializations by symptoms. (Currently, the feature is based on database, will upgrade with machine learning later)
- Getting online doctors, busy doctors.
- Asking member user about feeling today for finding doctor (30 mins loop).
- Chatting, sending image 1v1 between doctors and members.
- Doctors can create a new prescription for members.
- Finding doctors by specialization.
- User information CRUD.
Technology used
- Flutter GetX pattern, GetX for state management. (actually I want to use BLOC (Rx) but I only have 1 month to complete so I use Getx to do it faster. But GetX's build-in DI is so stupid)
- Authentication and Authorization using JWT.
- Backend using ExpressJs, MongoDB.
- Realtime event using Socket.io.
- Cloudinary for storing images.
Directory structure
project
│ README.md
│
│
└───lib
│ |
│ └───core
│ | |
│ │ └───helpers <--[Helpers function like customShowDialog(context)]
│ | |
│ │ └───themes <--[Colors]
│ | |
│ │ └───utils <--[logger, validator, cache manager, sharedPref,..]
│ │
│ └───data
│ | |
│ │ └───api <-[Provider data from remote]
│ | |
│ │ └───models
│ | |
│ │ └───repositories
│ | |
│ │ └───services
│ | |
│ │ └───socket_io_service.dart <--[Socket.io service]
│ │ |
│ │ └───cloudinary_service.dart <--[Cloudinary service]
│ │
│ └───modules <-[Screens, Controllers, Binding,... support modules]
│ |
│ └───routes <-[Define routes and pages for named navigator, binding]
│ |
│ └───widgets <-[Common widgets for reusing]
│ |
│ └───main.dart
│
│
└───assets
└───icons
|
└───images
|
└───logos
|
└───lottie <-[lottie animation]
|
└───.env <-[.env for environment]
Setup and run
Click to expand
- Download APK
- Setup and run
- Flutter
- Install Flutter.
- Using
stable
channel:❯ flutter channel stable ❯ flutter upgrade
- Flutter doctor:
❯ flutter doctor
- Install all the packages by:
❯ flutter pub get
- Create .env file
assets/.env
has following structure:BASE_URL=https://komkat-happy-care.herokuapp.com
- Run app on real devices or emulator by:
❯ flutter run
- Flutter
Screenshots (Running Stable in Mi 9)
Sorry for some UIs are not designed in advance, it will be not responsive for 16:9, not as beautiful as the intro, sign in, sign up because there is no time, just code in mind
Splash, Intro, SignIn, SignUp
Main Screen (Member Role)
View Screenshots
Main Screen (Doctor Role)
View Screenshots
Some gif(s)
Todo
- WebRTC for voice, video call
- Notifications
- Rebuild UI (i think no no no because i am very lazy
😣 )
✨
Contributors Nguyễn Minh Dũng |