-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: update README.md for more details about my project
docs: add screenshots fix: fix some bug about avatar
- Loading branch information
1 parent
b3d947d
commit 6e9e838
Showing
51 changed files
with
250 additions
and
28 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,205 @@ | ||
# happy_care | ||
# Happy-Care | ||
|
||
A new Flutter project. | ||
Online health consultation application built with Flutter for Client, ExpressJs for Backend Server. | ||
|
||
## Getting Started | ||
[](#contributors-) | ||
[](https://www.codacy.com/gh/komkat-studio/happy-care-mobile/dashboard?utm_source=github.com&utm_medium=referral&utm_content=komkat-studio/happy-care-mobile&utm_campaign=Badge_Grade) | ||
[](https://flutter.dev/) | ||
|
||
- | ||
## Features | ||
|
||
This project is a starting point for a Flutter application. | ||
- Finding doctors, specializations by symptoms. <b>(Currently, the feature is based on database, will upgrade with machine learning later)</b> | ||
- 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. | ||
|
||
A few resources to get you started if this is your first Flutter project: | ||
## Technology used | ||
|
||
- Flutter GetX pattern, [GetX](https://pub.dev/packages/get) for state management. | ||
- Authentication and Authorization using JWT. | ||
- Backend using NodeJS, 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 | ||
|
||
<details> | ||
<summary>Click to expand</summary> | ||
<br> | ||
|
||
- Download APK | ||
- [APK - arm64](https://drive.google.com/file/d/1NBD3iTm6hxryz5kGPIbyQLOaGl7lI4kH/view) | ||
- Setup and run | ||
- Flutter | ||
- Install [Flutter](https://flutter.dev/docs/get-started/install). | ||
- Using **`stable`** channel: | ||
```bash | ||
❯ flutter channel stable | ||
❯ flutter upgrade | ||
``` | ||
- Flutter doctor: | ||
```bash | ||
❯ flutter doctor | ||
``` | ||
- Install all the packages by: | ||
```bash | ||
❯ flutter pub get | ||
``` | ||
- Create .env file `assets/.env` has following structure: | ||
```bash | ||
BASE_URL=https://komkat-happy-care.herokuapp.com | ||
``` | ||
- Run app on real devices or emulator by: | ||
```bash | ||
❯ flutter run | ||
``` | ||
or debug mode in VSCode or some IDEs | ||
|
||
</details> | ||
|
||
## Screenshots (Running Stable in Mi 9) | ||
|
||
Sorry for some UIs are not designed in advance, not as beautiful as the intro, sign in, sign up because there is no time, just code in mind :( | ||
|
||
### Splash, Intro, SignIn, SignUp | ||
|
||
<details> | ||
<summary>View Screenshots</summary> | ||
<br> | ||
|
||
| | | | | ||
| :-------------------------: | :-------------------------: | :-------------------------: | | ||
| Splash Screen | Intro1 | Intro2 | | ||
|  |  |  | | ||
| Intro3 | Intro4 | | | ||
|  |  | ![]() | | ||
| Sign In | Sign Up | | | ||
|  |  | ![]() | | ||
|
||
</details> | ||
|
||
### Main Screen (Member Role) | ||
|
||
<details> | ||
<summary>View Screenshots</summary> | ||
<br> | ||
|
||
| | | | | ||
| :-----------------------------------------------------: | :------------------------------------: | :-------------------------------------------: | | ||
| Home Screen | Choose if you feel good | Choose if you feel bad to finding doctor | | ||
|  |  |  | | ||
| More Symptoms | Result for choosing symptoms | Choose Doctor | | ||
|  |  |  | | ||
| Search | Chat Screen | Chat Room | | ||
|  |  |  | | ||
| Chat With Typing Event Socket | Image Preview Before Sending | All Prescriptions | | ||
|  |  |  | | ||
| Detail Prescription | Detail Information Member role | Edit Information | | ||
|  |  |  | | ||
| Detail Information Doctor | Change password dialog | Dialog choose avatar | | ||
|  |  |  | | ||
|
||
</details> | ||
|
||
### Main Screen (Doctor Role) | ||
|
||
<details> | ||
<summary>View Screenshots</summary> | ||
<br> | ||
|
||
| | | | | ||
| :------------------------------------------------: | :--------------------------------------: | :-----------------------------------------------: | | ||
| Home Screen | Chat Screen | Chat Room | | ||
|  |  |  | | ||
| Chat With Typing Event Socket | Create Precription | Image Preview Before Sending | | ||
|  |  |  | | ||
| All Prescriptions | Detail Prescription | Edit a Prescription | | ||
|  |  |  | | ||
| Detail Information Doctor role | Edit Information | Dialog choose avatar | | ||
|  |  |  | | ||
|
||
</details> | ||
|
||
### Some gif(s) | ||
|
||
<details> | ||
<summary>View gif(s)</summary> | ||
<br> | ||
|
||
| | | ||
| :------------------------------------------------------------------------------: | | ||
| Finding Doctor By Symptoms | | ||
| <img src="screenshots/finding_doctor_by_symptom.gif" width="200" height="450" /> | | ||
|
||
</details> | ||
|
||
## Contributors ✨ | ||
|
||
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> | ||
<!-- prettier-ignore-start --> | ||
<!-- markdownlint-disable --> | ||
<table> | ||
<tr> | ||
<td align="center"><img src="https://avatars.githubusercontent.com/u/63831488?v=4" width="100px;" alt=""/><br /><sub><b>Nguyễn Minh Dũng</b></sub></a><br /><a href="https://github.com/komkat-studio/happy-care-mobile/commits?author=dungngminh" title="Code">💻</a> <a href="https://github.com/komkat-studio/happy-care-mobile/commits?author=dungngminh" title="Documentation">📖</a> | ||
</tr> | ||
</table> | ||
|
||
<!-- markdownlint-restore --> | ||
<!-- prettier-ignore-end --> | ||
|
||
<!-- ALL-CONTRIBUTORS-LIST:END --> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.