/medx

MERN medical info-system

Primary LanguageJavaScript

MedX

Medical info-system, written in MERN stack

(Yeah, i`m not very powerfull in naming)

At first i thought to make this as my diploma project, but then i decided this is not the best idea because it might be more difficult that i wanted to be. But eventually, i think it quite good.

Idea is simple: info-system, where tou can register/login as patient or doctor. As patient you can plan your visit to doctor, see what recepies he gave you, select doctor. As doctor you can manage your patients, see individual their profiles, set threatment, manage your schedule. (Features are in next sections)

Used technology

  • React - well known front-end library
  • Redux - for managing states in react
  • React Router - for route logic
  • Material UI library - because bootstrap is borring, and i personally like Material Design
  • Express - back-end framework for NodeJS
  • JSONWebToken - for auth purposes
  • Sass - for better CSS
  • MongoDB - as database
  • Mongoose - MongoDB ODM
  • Passport - for auth
  • ApexCharts - for great looking charts
  • Axios - for requests

Installation

Install dependencies for server

npm install

Then cd to client and install dependencies for client (May take a while)

cd client
npm install

Then change back to root and you can run back-end and react server

npm run dev

And then open in browser localhost:3000

Features

As Doctor you can:

  1. Look at modern charts with stats information about all your patients. Of course with bigger number of people, charts will be more correct image.png
  2. Take a look on list of all patients that registered as yours. and their short info image.png
  3. See more detailed info about patient image.png image.png
  4. Add records to e-card of patients, and read all previous, if needed image.png
  5. Sign up recepies image.png
  6. Take a look on all weekly visits to you, so you can see how heavy this week will be image.png
  7. Generate a token. Then patient can find you by it image.png
  8. Settings image.png image.png

As Patient you can:

  1. See list of all your doctors and main information about them image.png
  2. Add new doctors, via token system, which you have to get personally. image.png
  3. In case if you disliked your doctor, you can unregister him. image.png
  4. In case if you liked yoir doc, you can rate him by 5-star system. Or set to 1, all allowed image.png
  5. See more detailed info about doctor image.png
  6. Take a look at their schedule, so you can plan your visits image.png
  7. So when you plan your time, you can early register visit, at comfortable time image.png
  8. See what recepies signed for you this particular doctor, so you never forget image.png
  9. See all recepies that was signed to you. No more paper cards needed image.png
  10. Look in calendar view at all your planned visits to all doctors current week image.png
  11. And of course change settings image.png

Keys

In config folder you should create keys_dev.js file and include your own keys

module.exports = {
    mongoURI: "YOUR MONGOURI",
    secretKey: "YOUR SECRET KEY"
}

Some additional screenshots

  • Home page image.png
  • Register page image.png
  • Login page image.png