Medinice
MediNice is an online consultancy website where patient can book appointment with doctor followed by a scheduled video call.
Tech-Stack
Pre-Requisites
- Any IDE (eg. VS Code , Sublime etc).
- Node JS
- NPM Installer
Instructions
-
You can clone the repository
- Make sure your machine is having internet connection.
- Open shell (which ever your OS support) on your PC.
- Change drive to the location where you want your project to be copied.
- Make a folder name Medinice and change directory to that folder.
- Now type or copy-paste the below given commands.
- Frontend
https://github.com/Yash091/Medinice.git
- Backend
https://github.com/Yash091/Medinice-server.git
- Frontend
- Press Enter and the project will be cloned in you system.
You can directly download the zip file and extract it
-
After extracting the zip file or after cloning the repository
-
You will find 2 folders.
- Medinice
- Medinice-server
You can change the names of folder if you want.
-
To run Client folder, type the following commands in terminal
- cd Medinice
- npm install
- npm start
Frontend port - 3000
-
To run Server folder, type the following commands in terminal
- cd Medinice-server
- npm install
- npm start
Backend port - 8000
-
Your project will start running if you followed the instructions properly.
-
Brief Project Structure
/
|-- medinice/
|-- public/
|-- index.html #First webpage of the project
|-- src/
|-- components/ #Contains all the required components of project
|-- DoctorProfile/ #Contains UI for Doctor's profile
|-- PatientProfile/ #Contains UI for Patient's profile
|-- doctorCard/ #Contains UI for Doctor's Card
|-- footer/ #Contains UI for footer
|-- meetOurSpecialists/ #Contains UI for meeting specialists container
|-- navbar/ #Contains UI for Navbar
|-- whychooseus #Contains UI for why choose us container
|-- images/ #Contains images used in the project
|-- context/ #Defined all global states
|-- pages/ #Contains all the different pages
|-- Authentication/ #Contains pages related to authentication
|-- home/ #Contains home page
|-- ContactUs/ #Contains ContactUs page
|-- LandingPages/ #Contains Landing Pages
|-- ProfilePages/ #Contains Profile Pages for doctor, patient and admin
|-- VideoCall/ #Contains Video Call Page
|-- DetailView/ #Contains Detail View Pages for doctor and patient
|-- services/ #Contains all the api functions used in the project
|
|-- Medinice-server/
|-- controller/ #Contains all the controllers of project
|-- adminconroller.js #Contains all the functions related to admin
|-- doctorController.js #Contains all the functions related to doctor
|-- patientController.js #Contains all the functions related to patient
|-- database/ #To establish connection between database and backend
|-- modal/ #Contains Schemas
|-- DoctorSchema.js #Contains doctor schema
|-- PatientSchema.js #Contains patient schema
|-- route/ #Contains all routes used in project
|-- server.js #Main file of Medinice server folder. Initialized socket.IO - server.
APIs
Method | Route | parameters / query string | body | Description |
---|---|---|---|---|
POSt |
/adddoctor | name, age, email, designation, mobile, password, speciality, address, gender, picture, experience, dob, qualification | Take the details as input and create doctor profile | |
POST |
/logdoctor | email, password | Take the email and password as input and authenticate doctor | |
GET |
/getalldoctor | Returns array containing all doctors | ||
GET |
/getdoctorr | id | Takes an id and returns information of that doctor | |
POST |
/updatedoctor | name, age, email, designation, mobile, password, speciality, address, gender, picture, experience, dob, qualification | Take the details as input and update doctor | |
POST |
/addpendingrequest | pid, did | Takes patient and doctor id as input and add a meeting request in pending request array of doctor | |
GET |
/getpendingappts | id | Takes doctor's id as input and returns array containing all the pending requests for a particular doctor | |
POST |
/deletependingreq | pid , did | Takes patient and doctor id as input and delete a pending request for a particular doctor | |
POST |
/addupcomingappt | pid, did, time, data | Takes the details and add a meeting request in upcoming request array of doctor | |
GET |
/getupcomingappts | id | Takes doctor's id as input and returns array containing all the upcoming requests for a particular doctor | |
POST |
/addpastappt | pid, did, time, data | Takes the details and add a meeting details in past appointments array of doctor | |
GET |
/getpastappts | id | Takes doctor's id as input and returns array containing all the past requests for a particular doctor | |
POST |
/deletedoctor | id | Takes doctor's id as input and deletes the profile of doctor | |
POST |
/addpatient | name, email, password, designation,mobile, gender, dob, address, age | Take the details as input and create patient profile | |
POST |
/logPatient | email, password | Take the email and password as input and authenticate patient | |
GET |
/getallpatient | Returns array containing all patients | ||
GET |
/getpatient | id | Takes an id and returns information of that patient | |
POST |
/searchdoctor | name, country, speciality, qualification | Takes the required tags in inputs and returns the matching doctor profiles. | |
POST |
/updatepatient | name, email, password, designation,mobile, gender, dob, address, age | Take the details as input and update patient | |
POST |
/addpatupcomingappt | pid, did, time, date | Takes details as input and add a meeting request to upcoming appointment array of patient | |
POST |
/addpatpastappt | pid, did, time, date | Takes d etails as input and add a meeting request to past appointment array of patient |