Figure 1: Architecture for Local Dev Environment
Figure 2: AWS Deployment Diagram
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.
- Node.js: Install Node.js
- express.js: Install express.js
- prisma: Install Prisma
- postgresql: Install Postgresql
- react: Install React
- **Connect the postgre DB to servers setting up .env file with
DATABASE_URL="postgresql://Owner:yourPassword@yourLocalHost/Ip/DNS:thePortNumber/dbName?schema=public"
** - 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
-
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)