Online Health Consultation Application built with Flutter for Client, ExpressJs for Backend Server (private repo sorry 😣).
- 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.
- 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.
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
- Install Flutter.
❯ flutter channel stable ❯ flutter upgrade
- Flutter doctor:
❯ flutter doctor
- Install all the packages by:
❯ flutter pub get
- Create .env file
assets/.envhas following structure:
- Run app on real devices or emulator by:
❯ flutter run
or debug mode in VSCode or some IDEs
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)
Main Screen (Doctor Role)
- WebRTC for voice, video call
- Rebuild UI (i think no no no because i am very lazy 😣)
|Nguyễn Minh Dũng