Skip to content

migom6/mediquick

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Live Demo | Youtube Video Demo

Table Of Content

  1. Goal
  2. MediQuick Features
  3. Dependencies and Technologies Used
  4. Installation
  5. Documentation
  6. Testing
  7. Contact

Goal

The goal is to find a list of diagnosis from a list of medical symptoms, and also give out proper suggestion for treatments and specialist for a given medical condition/diagnosis.

This project is an MVP and is solely made for the purpose of competing for getting selected in hackercamp 2019, innovaccer. **

MediQuick Features

MedicQuick is a web app, which is use to suggest users possible treatments from user input information.

  • Full-Text-Search: Search issues and symptoms using natural language eg: I am having fever and headache.
  • Drop Down: Get list of all available symptoms and issues from where you can multi select.
  • Auto-complete list: As you type you can see the list of possible symptoms.
  • Diagnosis For some selected combination of symptoms find the possible diagnosis.
  • Treatments: Get treatment suggestions when you select a particular diagnosis.
  • Caching data The treatment data that has been scraped is saved in a database, so that the responses of the subsequent requests for the same diagnosis is faster.

Dependencies and Technologies Used

Mediquick comprises of frontend and backend web technologies.

  1. Frontend

    1. React(UI Library)
    2. Emotion(CSS in JS)
    3. Redux + Redux Thunk(State UI)
    4. Jest(Unit testing for UI)
  2. Backend

    1. Flask(to create routes)
    2. PyMongo(to save data)
    3. mLabs(online cloud mongodb service)
    4. Python unit test module
    5. Selenium with firefox driver(web scraping in javascript enabled sites)

Installation

  • First clone this repo
    git clone https://github.com/migom6/mediquick.git
  • Download and install the firefox gecko driver here
  • Create a MongoDb database locally or from mLabs.
  • Install the dependencies of frontend
cd frontend
npm install
  • Install the dependencies of backend
cd backend
pip install -r requirements.txt
  • Set the environment variables in .env file, check .env.example
  • source the .env
source .env
  • A Makefile is setup up to help in the installation.
  • make build-frontend This builds the react app and produces a build folder.
  • make serve This starts the server and the web app can be accesed in the browser.
  • make test-backend This is use to test backend code.
  • make test-frontend This is use to test the frontend code.
  • make netlify This publishes the frontend to netlify. Check netlify.toml

Documentation

Documentation of Frontend and Backend are available in /frontend/README.md and /backend/README.md respectively.

Testing

Tests are written using Jest (frontend) and unit test python (backend). The test are written in /frontend/tests and /backend/tests.
To run tests for frontend
make test-frontend
and
To run tests for backend
make test-backend

Contact

Find me on github or contact me via email.

About

Get diagnosis and treatments for your health problems.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published