WolfCare is an online application that manages the health portfolio of the patient and provides doctorβs assistance through an online portal. A virtual doctor appointment booking system overrides the problems of booking an appointment manually. It is convenient, helps in better resource management and aids in syncing of calender schedules. This project provides a platform for the users to create an account, search for doctors at a given location, view the doctorβs background and book appointments. Additionally, we have included a symptoms check where users can add theor test report values and view the results of a medical condition.
https://user-images.githubusercontent.com/112216701/205819674-413de60f-b322-4470-8fea-ac8eece08db7.mp4
Execution screenshots can be found here
WolfCare targets uses who would like to check the presence of any medical conditions and book an appointment with a doctor.
Β Β Β Β Β Β
Note: All the requirements of the project are listed in the requirements.txt file with their required versions. The INSTALL.md guides on how to download the required applications.
Apache
andMySQL
by clicking on the start button.Backend: flask (2.2.2), flask_cors (3.0.10), json, asyncio, mysql (2.2.9), pytest (7.2.0), pdoc (0.10.0).
Frontend: axios (1.0.0), antd (4.23.4), jsdoc (3.6.11), react-select (5.4.0), react-tag-input (6.8.1), reactstrap (9.1.4), jest.
Backend: Documentation
python -m venv <name_of_virtualenv>
<name_of_virtualenv>\Scripts\activate.bat for Windows users.
source <name_of_virtualenv>/bin/activate for linux users.
pip install -r requirements.txt
4. Make sure the database is imported from ```database/wolfcare.sql``` onto the mysql server.
python -m src.backend.app
localhost:5001
Frontend: Documentation
After cloning the repository, move to the directory src\frontend
where our frontend code is located.
Install all the dependencies using npm. Command to run: npm install
. This will fetch the dependecies from package.json file, and install them.
Start the server by using the command npm start
. This will run the server on port 3000
, and the website can be accessed by going to http://localhost:3000/
.
If credentials of a registered user are available, use them, or register a new user and interact with the website.
Backend
pytest
Frontend
Move to the directory src\frontend
where our frontend tests are located.
Run the tests using the command npm test -- --coverage --watchAll=false
. This will run all the tests across the frontend code.
Try the following troubleshooting steps. If none of them work, contact the repository owner/file an issue.
Backend
Frontend
.
βββ .github
| βββ ISSUE_TEMPLATE
| | βββ bug_report.md # Template for bug report
| | βββ feature_request.md # Template for feature request
| βββ workflows
| | βββ frontendGitActions.yml # GitActions workflow for frontend
| | βββ backendGitActions.yml # GitActions workflow for frontend
βββ .vscode
| βββ extensions.json # Recommended extensions for vscode
| βββ settings.json # Workspace settings for vscode
βββ database
| βββ wolfcare.sql # Database for project
βββ docs
| βββ Rubrics
| | βββ proj1rubric.md # Project rubric
| βββ backend # Documentation for backend
| βββ frontendDocs/wolfcare/0.1.0 # Documentation for frontend
| βββ README.md # Readme file for docs folder
βββ src
| βββ backend
| | βββ __init__.py # Init file for backend
| | βββ app.py # File containing backend APIs
| | βββ dbconfig.py # DB configuration for backend
| | βββ utils.py # Utilities for backend
| βββ frontend
| | βββ public # Folder containing assets and images
| | βββ src
| | | βββ api # Folder containing API calling frontend code
| | | βββ __tests__ # Folder containing unit tests for frontend
| | | βββ app # Folder containing redux store configuration
| | | βββ components # Folder containing frontend react components
| | | βββ containers # Folder containing containers to connect components with redux store
| | | βββ reducers # Folder containing reducers
| | | βββ axiox.js # API client generation
| | | βββ index.css # CSS configuration for frontend
| | | βββ index.js # Entry point for frontend
| | | βββ setupTests.js # Setup jest configuration for unit testing
| | | βββ wolfcare.jsx # Root react component
| | βββ .eslintignore # Ignore configuration for eslint
| | βββ .eslintrc.js # eslint configuration
| | βββ package.json # Package configuration and dependency closure
| βββ README.md # Readme file for src folder
βββ test
| βββ README.md # Readme file for test folder
| βββ __init__.py # Init file for test folder
| βββ test_app.py # Tests for backend
βββ .gitattributes # File for git attributes
βββ .gitignore # File for git ignore
βββ CITATION.cff # File for citations
βββ CODE_OF_CONDUCT.md # Code of conduct for repository
βββ CONTRIBUTING.md # Details about contributing to the repository
βββ INSTALL.md # Details about prerequisite installation
βββ LICENSE # MIT License details
βββ README.md # Readme file for repository
βββ requirements.txt # Details of dependency packages
βββ setup.py # Setup file for the module
We do our best to answer all tickets in a timely manner, but sometimes we accumulate a backlog and may take awhile to respond. Please be patientβwe will get back to you as soon as we can!
Please do contact any of us:
Thanks goes to these wonderful people.