Science Score: 31.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.3%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: Shubham1309Jain
- License: mit
- Language: JavaScript
- Default Branch: main
- Size: 28.5 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
🩺WolfCare
Online Doctor Appointment and Symptoms Checker
Table of Contents
About WolfCare
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.
App in Action
Execution screenshots can be found here
Target Audience
WolfCare targets uses who would like to check the presence of any medical conditions and book an appointment with a doctor.
Technologies :electron:
Getting started
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.
Prerequisites
- npm and node (version 16.X or 16.17.1) should be installed.
- Make sure the database server (mysql) is on. Consider using XAMPP.
- Download Python3.
- pytest for testing the application server.
- Clone the Github repository in your local system.
- This project uses xampp, so make sure to install xampp in your system.
- Run the xampp application, and start the
ApacheandMySQLby clicking on the start button.
Dependencies
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.
Installation and Run
Backend: Documentation
1. Create virtual environment
```
python -m venv <name_of_virtualenv>
```
2. Activate Python Virtual environment
```
<name_of_virtualenv>\Scripts\activate.bat for Windows users.
source <name_of_virtualenv>/bin/activate for linux users.
```
3. Install dependencies
```
pip install -r requirements.txt
```
4. Make sure the database is imported from ```database/wolfcare.sql``` onto the mysql server.
5. Run the below command from the main directory to start the backend application server.
```
python -m src.backend.app
```
6. The backend flask application will be up and running at ```localhost:5001```
**Frontend**: [Documentation](https://github.com/Shubham1309Jain/WolfCare/blob/main/docs/frontendDocs/wolfcare/0.1.0/index.html)
1. After cloning the repository, move to the directory ```src\frontend``` where our frontend code is located.
2. Install all the dependencies using npm. Command to run: ```npm install```. This will fetch the dependecies from package.json file, and install them.
3. 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/```.
4. If credentials of a registered user are available, use them, or register a new user and interact with the website.
Testing
Backend
1. Run the below command from the main directory. This should run all the test cases for app.py.
```
pytest
```
**Frontend**
1. Move to the directory ```src\frontend``` where our frontend tests are located.
2. Run the tests using the command ```npm test -- --coverage --watchAll=false```. This will run all the tests across the frontend code.
Troubleshooting
Try the following troubleshooting steps. If none of them work, contact the repository owner/file an issue.
Backend
1. We have added the print statements in all of the backend functions to know execution of the codes.
2. In case of error the print statements will let us know about the issue of code break.
3. The api responses the status code, valid message and response header which they can share back for troubleshooting.
**Frontend**
1. Since frontend is build using JavaScript, React and Redux, check for console logs under developer tools to identify any failures.
2. Consider installing and using [React developer tools](https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi?hl=en) and [Redux developer tools](https://chrome.google.com/webstore/detail/redux-devtools/lmhkpmbekcpmknklioeibfkpmmfibljd?hl=en) to track the request through the system.
Directory Structure
.
├── .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
Support
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: * Shubham Jain(sajain4@wisc.edu) * Nitesh Mishra(nmishra4@ncsu.edu)
Licence
- We are using MIT license
- Copyright (c) 2022 Group 22
Owner
- Name: Shubham Jain
- Login: Shubham1309Jain
- Kind: user
- Repositories: 1
- Profile: https://github.com/Shubham1309Jain
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use our code, please cite it as below." authors: - family-names: "Ghevariya" given-names: "Ravi" - family-names: "Giridhar" given-names: "Divya" - family-names: "Patel" given-names: "Dhruv" - family-names: "Titus" given-names: "Shreyas" - family-names: "Patel" given-names: "Manan" - family-names: "Gupta" given-names: "Akash" - family-names: "Srinivasan P" given-names: "Arun" - family-names: "Madamshetti" given-names: "Nagaraj" - family-names: "Mishra" given-names: "Nitesh" - family-names: "Singh" given-names: "Sumit" title: "CSC 510 Software Engineering: WolfCare"
GitHub Events
Total
- Push event: 5
- Create event: 2
Last Year
- Push event: 5
- Create event: 2
Dependencies
- eslint ^8.25.0 development
- eslint-plugin-react ^7.31.8 development
- @ant-design/icons ^4.7.0
- @reduxjs/toolkit ^1.8.5
- @testing-library/jest-dom ^5.16.5
- @testing-library/react ^13.4.0
- @testing-library/user-event ^14.4.3
- antd ^4.23.4
- axios ^1.0.0
- bootstrap ^5.2.2
- chai ^4.3.6
- dayjs ^1.11.6
- dotenv ^16.0.3
- enzyme ^3.11.0
- jsdoc ^3.6.11
- mocha ^10.0.0
- moment ^2.29.4
- react ^18.2.0
- react-bootstrap ^2.6.0
- react-dom ^18.2.0
- react-highlight-words ^0.18.0
- react-redux ^8.0.4
- react-router-dom ^6.4.1
- react-scripts 5.0.1
- react-select ^5.4.0
- react-tag-input ^6.8.1
- react-test-renderer ^18.2.0
- reactstrap ^9.1.4
- web-vitals ^2.1.4
- Flask ==2.2.2
- Flask_Cors ==3.0.10
- mysql-connector ==2.2.9
- pytest ==7.2.0