BharatSeva / BharatSeva-Plus-Express-Server

This is Express Server of Bharat Seva.
Apache License 2.0
9 stars 8 forks source link
backend contributions-welcome express-js hacktoberfest hactoberfest-accepted hactoberfest2024 javascript open-source

Bharat Seva+ Express Server

Welcome to the Express server for Bharat Seva+, a MERN + Firebase project designed to facilitate seamless appointments between patients and healthcare professionals. This server handles user authentication, data management, and API interactions for the front-end applications. Refer to Official Organisation to get better idea of this whole project.


[!TIP] Hi everyone! Hope you're doing well, this is to let you know that you can access webapps hosted on public links:

Target : Scale this Server for Massive 50 Million Users 🚀

Upcoming Features:

Future Plans:

Table of Contents

Features


Tech Stack


Installation


Prerequisites

  1. Run the server:

       npm start
  2. Alternately you can setup docker-compose file and use following command to start your container, make sure you've added all the required env variables.

       docker-compose up -d
  3. Go to http://localhost:5000/ for user dashboard, and http://localhost:5000/healthcare/ for Healthcare dashboard.

  4. This project consist of two webapps User( also Referred as Patient) and Healthcare dashboard.

    • If you're first time user you first need to create your healthcare account via Postman api collection with Register Healthcare endpoint inHealthCare_endpoints folder or you can use UI dashboard by hitting http://localhost:5000/healthcare/ url in your favourite browser.
    • After your Healthcare account created, you can create User Biodata with Create User Bio Data (HealthCare) enpoint, which user can register and login themselves inorder to use platform.
    • Now, you can use Register User and Login User endpoint to verify and create your user account.
    • Refer to Postman Collection, if you've any doubt in endpoints or if you thing there's feature you can add, feel free to raise issue.
    • You can start discussion about specific topic for your doubt.

Project Structure

.
├── Bharat Seva.postman_collection.json
├── Controllers
│   ├── AppointmentController.js
│   ├── GET_Patient_BIoData.js
│   ├── Get_For_PatientProblem_Details.js
│   ├── HIP_Authorization.js
│   ├── HIP_Info.js
│   ├── HIP_Patient_Info.js
│   ├── HIP_Patient_Problem_Issuer.js
│   └── Patient_Authorization.js
├── Firebase
│   ├── Config.js
│   └── Service.js
├── LICENSE
├── MiddleWare
│   ├── HIP_Authentication.js
│   ├── Patient_Authentication.js
│   └── RateLimiter.js
├── MongoDB
│   └── Database.js
├── NodeMailer
│   ├── NodeMailer.js
│   └── NodeMessages.js
├── README.md
├── Router
│   ├── AppointsmentRouter.js
│   ├── HIP_Authorization_Router.js
│   ├── HIP_Info.js
│   ├── HIP_PatientDetails_Router.js
│   ├── HIP_Patient_Issues.js
│   ├── Patient.js
│   ├── Patient_Authorization_Router.js
│   ├── Patient_BioData.js
│   └── Patient_Details_Router.js
├── Schema
│   ├── Appointments.js
│   ├── HIP_Info_Schema.js
│   ├── Patient_CredentialSchema.js
│   ├── Patient_Info_Schema.js
│   └── Patient_problem_Schema.js
├── Server.js
├── package-lock.json
└── package.json

7 directories, 36 files

API Endpoints

Please find Bharat Seva.postman_collection.json for request endpoints. Import it directly in your postman as collection to explore it more.

License

licensed under the MIT License.

Contributing

Please find CONTRIBUTING file to get better idea regarding contributions.