/Sensitive-data-security-with-cloud__AWS

This basically an monitor app for the practicing MBBS doctors. It takes daily logs of the practice from the doctors and send it for monitoring to the higher level monitors like supervisors and higher officials for approval. All the monitors over see the daily activities and data with this app and keep track of the with the daily approval.

Primary LanguageJavaScript

Logbook Management System

Picture1 Figure 1: Architecture for Local Dev Environment

final-project-diagram Figure 2: AWS Deployment Diagram

Table of Contents

Project Introduction

This project tried to solve the pressing need to enhance data security and monitoring capabilities within the Bangladesh Government's professional healthcare training sectors through the implementation of a secure hybrid cloud infrastructure. Leveraging Amazon Web Services (AWS) Virtual Private Cloud (VPC) architecture and Site-to-site Virtual Private Network (VPN), the proposed solution integrates advanced security measures, including the AES-256-CBC encryption algorithm, to fortify data protection. The project unfolds in two key phases, beginning with a local on-premises prototype before migrating to AWS. The comprehensive approach aims to address scalability, real-time data access, and security challenges inherent in traditional on-premises systems.

Installation

Prerequisites

Steps

  1. **Connect the postgre DB to servers setting up .env file with DATABASE_URL="postgresql://Owner:yourPassword@yourLocalHost/Ip/DNS:thePortNumber/dbName?schema=public" **
  2. Clone the repository:
    git clone https://github.com/SadeeMsr/mbbs-doctor-logbook-monitoring-app
    
    //Front-end installation commands
    
    cd client
    npm install
    npm run dev
    
    //Backend installation commands
    
    cd server
    npm install
    npx prisma migrate dev
    npm run watch
    

API Endpoints

Products

  • Log in (Method: POST, Endpoint: /log-in , Handler: authenticationRouter)

  • Create an Users (Method: POST, Endpoint: /users/create-users , Handler: createUser)

  • Fetch All Supervisors (Method: GET, Endpoint: /users/supervisors, Handler: fetchProducts)

  • Create a Hospitals (Method: POST, Endpoint: /hospitals/create-hospitals , Handler: findMasterDataForAdmin)

  • Fetch Admin data (Method: GET, Endpoint:/hospitals/admin-data, Handler: updateProduct)

  • Create a Daily Log (Method: POST, Endpoint: /logbook/daily-log , Handler: createLog)

  • Fetch my Submissions (Method: GET, Endpoint: /logbook/submissions/:traineeID , Handler: findSubmissions)

  • Fetch trainee submissions accroding per supervisor (Method: GET, Endpoint: /logbook/trainee-submissions/:supervisorID , Handler: findSubmissionsBySupervisor)

  • Approve a Daily log (Method: PUT, Endpoint: /logbook/logbook-approval/:formID , Handler: updateApprovalStatus)