Skip to content
Merged

Dev #10

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
230 commits
Select commit Hold shift + click to select a range
576e485
Initial Setup using starter package
Youssef-Abo-El-Ela Oct 23, 2025
ea1ce0c
initial db schema and some imports fixing
Youssef-Abo-El-Ela Oct 25, 2025
ed28ba4
Added the interfaces required and edited the eslint config to be less…
Youssef-Abo-El-Ela Oct 26, 2025
d502a00
update docker-compose
enjyashraf18 Oct 26, 2025
779e36c
update docker setup / first migration
enjyashraf18 Oct 28, 2025
44904cb
dockerfile modifications, CI/CD
enjyashraf18 Oct 29, 2025
a21980a
edited some logic in the auth services and updated the prisma schema
Youssef-Abo-El-Ela Oct 31, 2025
212cd5c
Merge branch 'Initial-Setup' of https://github.com/Youssef-Abo-El-Ela…
Youssef-Abo-El-Ela Oct 31, 2025
70febb0
updated the installed packages and edited schema relations
Youssef-Abo-El-Ela Oct 31, 2025
5982e1e
added access token and refresh token implementation
Youssef-Abo-El-Ela Oct 31, 2025
116bc71
upgrade dependencies / docker modification
enjyashraf18 Nov 1, 2025
99ab887
remove db test from CI
enjyashraf18 Nov 1, 2025
9bcda26
fix: update package-lock.json syncing issue / simplify CI for setup
enjyashraf18 Nov 1, 2025
794e759
Merge pull request #1 from Blockchain-Based-EMR-System/Initial-Setup
enjyashraf18 Nov 1, 2025
74976b8
Added sign up with google logic
Youssef-Abo-El-Ela Nov 2, 2025
20d86b8
adjusted sign up to be on two stages / two pages to complete the profile
Youssef-Abo-El-Ela Nov 2, 2025
e674496
added otp handling and updating phone number for google sign ups
Youssef-Abo-El-Ela Nov 3, 2025
0669ca4
Added forget password functionality
Youssef-Abo-El-Ela Nov 3, 2025
575d3cc
Updated Swagger docs
Youssef-Abo-El-Ela Nov 3, 2025
fbd3749
added bilingual error support
Youssef-Abo-El-Ela Nov 5, 2025
7974ab3
update redirect URL in Google OAuth callback to use environment variable
Youssef-Abo-El-Ela Nov 7, 2025
df589a0
update redirect URL in Google OAuth callback to complete profile page
Youssef-Abo-El-Ela Nov 7, 2025
6287346
added isNewUser flag to determine redirection after google oauth
Youssef-Abo-El-Ela Nov 7, 2025
be4d84c
Added endpoint for getting user data after google login
Youssef-Abo-El-Ela Nov 9, 2025
d1cb0bf
added resend otp api
Youssef-Abo-El-Ela Nov 9, 2025
092fe2d
fix: phone number of google account was not updated
Youssef-Abo-El-Ela Nov 10, 2025
f8fb5e3
fix: logout endpoint fixed to delete cookies
Youssef-Abo-El-Ela Nov 11, 2025
dd42ae0
added user as patient to patient table and made google made account v…
Youssef-Abo-El-Ela Nov 11, 2025
9f79752
added hasCompletedProfile boolean and handled it in the APIs
Youssef-Abo-El-Ela Nov 12, 2025
3902857
updated swagger for hasCompletedProfile boolean
Youssef-Abo-El-Ela Nov 12, 2025
d5a58f7
updated redirect after google auth for new users
Youssef-Abo-El-Ela Nov 27, 2025
0a8013e
update redirect after google auth for a logged in user
karreemm Nov 27, 2025
7a64e96
autogen
salahmohamed03 Nov 29, 2025
10d2fed
Merge branch 'Authentication' into gRPC-connection
salahmohamed03 Nov 29, 2025
2e0d9cd
refactor: remove user-related routes and services; update swagger tag…
salahmohamed03 Nov 29, 2025
b84c191
feat: implement medical records management; update routes, services, …
salahmohamed03 Nov 29, 2025
5e6f755
fix: correct import statement for ValidationMiddleware in auth routes
salahmohamed03 Nov 29, 2025
c23a698
db/ interface: Add medicalRecords
enjyashraf18 Nov 11, 2025
3c2e516
add records dto
enjyashraf18 Nov 12, 2025
5f407b2
implement main functionalities for IPFS service
enjyashraf18 Nov 12, 2025
3064a40
implement medical records service with ipfs integration
enjyashraf18 Nov 15, 2025
6bbab5f
MR upload middleware / MR deletion
enjyashraf18 Nov 19, 2025
aeabd51
create MRs controller
enjyashraf18 Dec 5, 2025
917015c
Merge pull request #2 from Blockchain-Based-EMR-System/IPFS
enjyashraf18 Dec 5, 2025
84424dd
create a shared prisma instance
enjyashraf18 Dec 10, 2025
9f8ff39
feat: Implement Fabric identity management and connection caching
salahmohamed03 Dec 11, 2025
33d99c7
feat: super admin and admin routes and initial controls, added also m…
Youssef-Abo-El-Ela Dec 12, 2025
98a3c62
refactor services / CatchAsync
enjyashraf18 Dec 12, 2025
0ef6ed4
feat: add super admin role and implement admin management features; u…
Youssef-Abo-El-Ela Dec 12, 2025
0dcfd35
refactor controllers/services
enjyashraf18 Dec 12, 2025
e55995d
Add Admin and Super Admin endpoints to Swagger documentation
Youssef-Abo-El-Ela Dec 12, 2025
b1c366c
added admin verify doctor status endpoint
Youssef-Abo-El-Ela Dec 12, 2025
7e66f9b
feat: Add grant access functionality and enhance error handling in Fa…
salahmohamed03 Dec 12, 2025
edf86ca
added verify doctor status endpoint
Youssef-Abo-El-Ela Dec 12, 2025
2540941
added doctor controller
Youssef-Abo-El-Ela Dec 12, 2025
f0e9a88
synced migrations with dev and added missing swagger annotations
Youssef-Abo-El-Ela Dec 13, 2025
00b27aa
added doctorAccountStatus Enum
Youssef-Abo-El-Ela Dec 13, 2025
ddc6442
added account status upon doctor login
Youssef-Abo-El-Ela Dec 13, 2025
ccd91a2
swagger edits
Youssef-Abo-El-Ela Dec 13, 2025
6f81a55
added date of birth to doctor add by admin
Youssef-Abo-El-Ela Dec 13, 2025
9727592
fixed date_of_birth error
Youssef-Abo-El-Ela Dec 13, 2025
a620069
Doctor Login Endpoint
Youssef-Abo-El-Ela Jan 22, 2026
c592daa
Refactored Error Handling in auth controller
Youssef-Abo-El-Ela Jan 22, 2026
0213cb1
added doctor set first time password endpoint
Youssef-Abo-El-Ela Jan 22, 2026
2da66d3
added some checking logic to set first time password for doctor
Youssef-Abo-El-Ela Jan 22, 2026
148b20d
added profile picture upload endpoint
Youssef-Abo-El-Ela Jan 23, 2026
b3d478d
Delete and Get Profile Picture for Doctor Endpoints
Youssef-Abo-El-Ela Jan 23, 2026
029596b
swagger edit
Youssef-Abo-El-Ela Jan 23, 2026
02a95ea
create clinic by doctor endpoint
Youssef-Abo-El-Ela Jan 23, 2026
fa61afa
added get clinic by id endpoint and altered some fields in the db schema
Youssef-Abo-El-Ela Jan 24, 2026
6449e01
update clinic by id endpoint
Youssef-Abo-El-Ela Jan 24, 2026
93e14c8
Implemented delete Clinic by ID endpoint
Youssef-Abo-El-Ela Jan 24, 2026
2cec93d
added swagger annotations to the clinic routes
Youssef-Abo-El-Ela Jan 25, 2026
5e1f90a
adjusted the code structure
Youssef-Abo-El-Ela Jan 25, 2026
2d3fd8f
adjusted swagger for set password for doctor endpoint
Youssef-Abo-El-Ela Jan 25, 2026
fc83703
Merge branch 'dev' into Scheduling
Youssef-Abo-El-Ela Jan 25, 2026
966d351
Merge branch 'dev' into Blockchain-id-onboarding
Youssef-Abo-El-Ela Jan 25, 2026
668922f
Update swagger docs
Youssef-Abo-El-Ela Jan 25, 2026
b63ae4d
schema updates for appointments and doctor / create related interfaces
enjyashraf18 Jan 25, 2026
973114d
dto/ main base with clinics route
enjyashraf18 Jan 26, 2026
2598ed9
doctor/clinic stuff for appointment booking
enjyashraf18 Jan 26, 2026
67d8c53
appointment service (days)
enjyashraf18 Jan 27, 2026
580c44d
available days/slots in appointments
enjyashraf18 Jan 27, 2026
49402e7
Separated Profile Picture into user service to be general for all use…
Youssef-Abo-El-Ela Jan 27, 2026
215c5b4
Updated specialization to be IMMUNOLOGY only for all doctors
Youssef-Abo-El-Ela Jan 27, 2026
f7ff523
swagger edits
Youssef-Abo-El-Ela Jan 27, 2026
bc4d807
Booking a new appointment routes are done
enjyashraf18 Jan 28, 2026
4f795e6
get all patient's appointments
enjyashraf18 Jan 28, 2026
c262a74
added multi lang response messages for the admin and auth controller
Youssef-Abo-El-Ela Jan 28, 2026
af44f45
Finished all the current controllers response message to be multi lang
Youssef-Abo-El-Ela Jan 28, 2026
4924c0f
updated swagger for multi lang response
Youssef-Abo-El-Ela Jan 28, 2026
24a3c98
get patient selected appointment
enjyashraf18 Jan 28, 2026
a2654c4
Reschedule an existing appointment
enjyashraf18 Jan 28, 2026
b3fa780
updated multer config for pdf file upload
Youssef-Abo-El-Ela Jan 29, 2026
505f840
cancel appointment by doctor or patient
enjyashraf18 Jan 29, 2026
88a3b49
reschedule an appointment by doctor
enjyashraf18 Jan 29, 2026
5faecff
reschedule multiple appointments by doctor
enjyashraf18 Jan 29, 2026
932a6a8
Made uploading doctor verify file endpoint
Youssef-Abo-El-Ela Jan 29, 2026
8e31413
Add certificate URLs to Doctor response DTO and retrieve unverified d…
Youssef-Abo-El-Ela Jan 29, 2026
61d567d
updated refresh token route
Youssef-Abo-El-Ela Jan 29, 2026
af72f52
Merge pull request #4 from Blockchain-Based-EMR-System/Doctor_Verific…
enjyashraf18 Jan 29, 2026
9ac3c64
Add migration for new columns and types in Appointments and Doctor ta…
Youssef-Abo-El-Ela Jan 29, 2026
439da7d
reschedule all appointments of a specific day
enjyashraf18 Jan 29, 2026
56a9798
doctor's complete schedule
enjyashraf18 Jan 30, 2026
cd7b25f
appointments modification: dto/routes
enjyashraf18 Jan 30, 2026
573194b
Fix refresh token issue
karreemm Jan 30, 2026
b968b51
fixed errors from frontend
Youssef-Abo-El-Ela Jan 30, 2026
03d49c9
Merge branch 'dev' of https://github.com/Youssef-Abo-El-Ela/GP-Backen…
Youssef-Abo-El-Ela Jan 30, 2026
c42bf20
updated multer config for FE
Youssef-Abo-El-Ela Jan 30, 2026
1b397d1
enhance error handling for file deletion in DoctorService
karreemm Jan 30, 2026
1fd3f5f
Refactor updateDoctorVerificationStatus to handle null approval status
salahmohamed03 Jan 30, 2026
1455368
Merge branch 'dev' of https://github.com/Blockchain-Based-EMR-System/…
salahmohamed03 Jan 30, 2026
7c6af3c
changed isVerified status in doctor signup to always true
Youssef-Abo-El-Ela Jan 30, 2026
334ce70
Merge branch 'dev' of https://github.com/Youssef-Abo-El-Ela/GP-Backen…
Youssef-Abo-El-Ela Jan 30, 2026
6d2f890
socket service
enjyashraf18 Jan 31, 2026
06cc4b7
calculate queue position / get initial data for patient and doctor
enjyashraf18 Jan 31, 2026
b40e2f1
get todays appointment with queue parameters
enjyashraf18 Jan 31, 2026
0709124
added files url retrieval for doctors upon getting all doctors by adm…
Youssef-Abo-El-Ela Jan 31, 2026
a034046
swagger updates
Youssef-Abo-El-Ela Jan 31, 2026
3bdaf6c
fixed signup endpoint
Youssef-Abo-El-Ela Jan 31, 2026
ac0fcbc
swagger updates in signup endpoint
Youssef-Abo-El-Ela Jan 31, 2026
c1cb033
replace connections
enjyashraf18 Feb 1, 2026
1e36398
fix: version mismatch / connection / queue
enjyashraf18 Feb 1, 2026
cced383
apply triggers in appointment controller (commented)
enjyashraf18 Feb 2, 2026
f75633e
appointment modifications
enjyashraf18 Feb 3, 2026
a952dca
swagger modifications
enjyashraf18 Feb 3, 2026
178f215
Merge branch 'dev' into scheduling-queue
enjyashraf18 Feb 3, 2026
88427ce
fix: solve migration issues
enjyashraf18 Feb 3, 2026
4643753
add missing response msg
enjyashraf18 Feb 4, 2026
da5e858
fix: swagger comment for doctor schedule
enjyashraf18 Feb 4, 2026
16dfcda
fix: validation appointments dto
enjyashraf18 Feb 4, 2026
ea08087
add get/edit doctor schedule
enjyashraf18 Feb 5, 2026
9c894e0
added clinic endpoints for admin view
Youssef-Abo-El-Ela Feb 5, 2026
20c1622
Merge branch 'dev' of https://github.com/Youssef-Abo-El-Ela/GP-Backen…
Youssef-Abo-El-Ela Feb 5, 2026
cdff7ec
set clinic active status endpoint
Youssef-Abo-El-Ela Feb 5, 2026
0669000
swagger updated
Youssef-Abo-El-Ela Feb 5, 2026
f6574c8
doctor schedule by date
enjyashraf18 Feb 5, 2026
b2f9dfd
handled updating clinic data and fees endpoints
Youssef-Abo-El-Ela Feb 5, 2026
476764f
Merge branch 'dev' of https://github.com/Youssef-Abo-El-Ela/GP-Backen…
Youssef-Abo-El-Ela Feb 5, 2026
9de5f7b
vacation routes for doctor
enjyashraf18 Feb 6, 2026
a6e313c
update schedule deletion
enjyashraf18 Feb 6, 2026
2ba0e7f
make a common route for conflicting appointments
enjyashraf18 Feb 6, 2026
cf889ab
get/clear doctor vacations
enjyashraf18 Feb 6, 2026
7303246
appointments/vacation modifications
enjyashraf18 Feb 7, 2026
a4527ac
running the cron every min
enjyashraf18 Feb 8, 2026
370531e
exposing general routes
enjyashraf18 Feb 8, 2026
fffc0f4
modify doctors/clinics routes for appointments
enjyashraf18 Feb 9, 2026
aec6c0d
add profile pic to doctors response
enjyashraf18 Feb 9, 2026
faf000e
modify returning the clinics to include doctors
enjyashraf18 Feb 10, 2026
e57c94f
handle both languages in doctor's specialization
enjyashraf18 Feb 10, 2026
3fc902a
added check for doctor account status upon login
Youssef-Abo-El-Ela Feb 10, 2026
3da827d
Merge branch 'dev' of https://github.com/Youssef-Abo-El-Ela/GP-Backen…
Youssef-Abo-El-Ela Feb 10, 2026
c1e6fd2
fixed doctor login endpoint
Youssef-Abo-El-Ela Feb 10, 2026
c72c001
fix: swagger / appointments
enjyashraf18 Feb 10, 2026
18c2ee5
return availability type in doctors response
enjyashraf18 Feb 10, 2026
5a428a2
feat: update user profile and doctor avail type endpoint
Youssef-Abo-El-Ela Feb 11, 2026
4719e19
feat: change password endpoint
Youssef-Abo-El-Ela Feb 11, 2026
eec9c0d
fix: check password swagger
Youssef-Abo-El-Ela Feb 12, 2026
a95fa7e
added photo_url to login output
Youssef-Abo-El-Ela Feb 12, 2026
db83efa
fix: caching problem in todays appointment route
enjyashraf18 Feb 12, 2026
898648b
update swagger
enjyashraf18 Feb 12, 2026
e3ead65
add doctor's profile pic in patient appointments
enjyashraf18 Feb 14, 2026
3436fc4
add doctor/clinic ids in appointments
enjyashraf18 Feb 14, 2026
2f16d35
return todays appointments without filteration
enjyashraf18 Feb 17, 2026
30e9744
update schema: add nurse, announcements, scheduling
enjyashraf18 Feb 17, 2026
095863c
nurse login/signup/set password
enjyashraf18 Feb 17, 2026
3cc7814
update nurse routes: swagger
enjyashraf18 Feb 17, 2026
4183c05
add announcements by doctor
enjyashraf18 Feb 17, 2026
82826cc
get doctors announcements
enjyashraf18 Feb 17, 2026
1b2077c
get all applications of a specific announcement
enjyashraf18 Feb 18, 2026
cf0d527
get active announcements for the nurse
enjyashraf18 Feb 23, 2026
7bbcc93
apply to a specific announcement
enjyashraf18 Feb 23, 2026
566798d
approve/reject applicants by doctor
enjyashraf18 Feb 24, 2026
dccb472
delete announcement by doctor
enjyashraf18 Feb 24, 2026
4cbc2a3
edit an announcement by doctors
enjyashraf18 Feb 24, 2026
4c44ecf
get all announcements the nurse has applied to
enjyashraf18 Feb 24, 2026
3233d47
get schedule for a specific nurse
enjyashraf18 Feb 25, 2026
a5a5361
get all appointments for a specific doctor by nurse
enjyashraf18 Feb 25, 2026
beec2ca
mark an appointment as completed by the nurse
enjyashraf18 Feb 25, 2026
e45e190
get unverified nurses / nurse by id by admin
enjyashraf18 Feb 26, 2026
caa2270
add/get nurses by admin
enjyashraf18 Feb 26, 2026
668ea6d
add nurse routes for super admin
enjyashraf18 Feb 26, 2026
4301033
Merge pull request #6 from Blockchain-Based-EMR-System/nurse
enjyashraf18 Feb 26, 2026
5c744aa
sort working days
enjyashraf18 Feb 26, 2026
9f442d0
fix: check account status for nurse
enjyashraf18 Feb 26, 2026
659b50a
fix: swagger for nurse verification
enjyashraf18 Feb 26, 2026
51b7862
update complete appointment by nurse
enjyashraf18 Feb 28, 2026
97d53bf
update schema for medical records and encryption
enjyashraf18 Mar 1, 2026
186ae4f
add encryption/key management services
enjyashraf18 Mar 3, 2026
608fd7c
update ipfs/MR services
enjyashraf18 Mar 3, 2026
405e390
get agora token endpoint
Youssef-Abo-El-Ela Mar 3, 2026
3fce071
add controller/routes (testing)
enjyashraf18 Mar 3, 2026
807c737
fix: get files (ipfs)
enjyashraf18 Mar 4, 2026
a741b5e
update get patient files route
enjyashraf18 Mar 4, 2026
2b38d52
initialized backblaze and implemented get uploadUrl api
Youssef-Abo-El-Ela Mar 5, 2026
3e423e9
made 80% of process and generate SOAP notes using AI
Youssef-Abo-El-Ela Mar 5, 2026
0802be9
added swagger for ai endpoints
Youssef-Abo-El-Ela Mar 6, 2026
e0b897f
update queue/socket service
enjyashraf18 Mar 6, 2026
8537150
solve timezone issues
enjyashraf18 Mar 6, 2026
881cbeb
feat: integrate ipfs with fabric
salahmohamed03 Mar 7, 2026
2034e28
refactor: update generateSOAP method to return any type and ensure as…
Youssef-Abo-El-Ela Mar 7, 2026
55af6ba
fix: doctor schedule
enjyashraf18 Mar 7, 2026
48a5931
add get working nurse route/ update queue calc
enjyashraf18 Mar 7, 2026
751d6bd
feat: enhance medical record management with clinic-based access and …
salahmohamed03 Mar 7, 2026
e7435ff
update appointments / schedule
enjyashraf18 Mar 7, 2026
96effaa
update get working nurses by doctor
enjyashraf18 Mar 8, 2026
db349a7
feat: medical records basic endpoints
salahmohamed03 Mar 8, 2026
d469181
fix auth: return role for socket service
enjyashraf18 Mar 9, 2026
b3bf5c3
Fix: daily schedule of the doctor
enjyashraf18 Mar 9, 2026
6903384
fix: socket service data handling
enjyashraf18 Mar 9, 2026
b5e5895
finish medical records endpoints
salahmohamed03 Mar 12, 2026
593a31e
feat: implement backup service for medical records management
salahmohamed03 Mar 13, 2026
c1ab416
feat: add fabric identities configuration for multiple clinics
salahmohamed03 Mar 13, 2026
0a211eb
Merge branch 'dev' into medical-records
salahmohamed03 Mar 13, 2026
3858db0
Merge branch 'AgoraService' into dev
Youssef-Abo-El-Ela Mar 13, 2026
4a9846d
feat: include user ID in appointment response data
karreemm Mar 15, 2026
1b591e7
update fabric-identities with neon clinic data
karreemm Mar 19, 2026
3e53333
fix: today appointments not found
salahmohamed03 Mar 20, 2026
92b62e1
feat: add endpoint to retrieve doctor's appointment context and updat…
salahmohamed03 Mar 21, 2026
688ba5a
feat: increase request body size limit in app and nginx configuration
karreemm Mar 21, 2026
1a983f1
Merge branch 'dev' of https://github.com/Blockchain-Based-EMR-System/…
karreemm Mar 21, 2026
2b20e4e
Fix time zone mismatch in appointments
enjyashraf18 Mar 23, 2026
467cfeb
Add medical history keys
karreemm Apr 19, 2026
fd3d873
Merge branch 'dev' of https://github.com/Blockchain-Based-EMR-System/…
karreemm Apr 19, 2026
2460c0b
Added prompt param to process ai endpoint
Youssef-Abo-El-Ela Apr 24, 2026
2280cc2
fix: TIMING in today appointments
enjyashraf18 Apr 26, 2026
612af7a
remove unnecessary stuff
enjyashraf18 Apr 26, 2026
f1cc1f7
centralize all time logic
enjyashraf18 Apr 30, 2026
27eac4b
fix bug: boundaries of the day
enjyashraf18 May 1, 2026
9e964bf
Merge pull request #9 from Blockchain-Based-EMR-System/refactoring
enjyashraf18 May 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions -home-enjy-work-GP-repo-Backend-src-dtos-.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/home/enjy/work/GP/repo/Backend/src/dtos/appointments.dto.ts
18 changes: 18 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# compiled output
.vscode
/node_modules

# code formatter
.eslintrc
.eslintignore
.editorconfig
.huskyrc
.lintstagedrc.json
.prettierrc

# test
jest.config.js

# docker
Dockerfile
docker-compose.yml
9 changes: 9 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
root = true

[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
1 change: 1 addition & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/dist
19 changes: 19 additions & 0 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"parser": "@typescript-eslint/parser",
"extends": ["prettier", "plugin:@typescript-eslint/recommended", "plugin:prettier/recommended"],
"parserOptions": {
"ecmaVersion": 2018,
"sourceType": "module"
},
"rules": {
"@typescript-eslint/explicit-member-accessibility": 0,
"@typescript-eslint/explicit-function-return-type": 0,
"@typescript-eslint/no-parameter-properties": 0,
"@typescript-eslint/interface-name-prefix": 0,
"@typescript-eslint/explicit-module-boundary-types": 0,
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/ban-types": "off",
"@typescript-eslint/no-var-requires": "off",
"prettier/prettier": "off"
}
}
31 changes: 31 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Build and Deploy Blockchain-Based EMR System

on:
push:
branches:
- main
- dev
pull_request:
branches:
- main
- dev

jobs:
setup-check:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Generate Prisma client
run: npx prisma generate
148 changes: 148 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage
*.lcov

# nyc test coverage
.nyc_output

# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# Snowpack dependency directory (https://snowpack.dev/)
web_modules/

# TypeScript cache
*.tsbuildinfo

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional stylelint cache
.stylelintcache

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variable files
.env
.env.*
!.env.example

# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache

# Next.js build output
.next
out

# Nuxt.js build / generate output
.nuxt
dist
.output

# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public

# vuepress build output
.vuepress/dist

# vuepress v2.x temp and cache directory
.temp
.cache

# Sveltekit cache directory
.svelte-kit/

# vitepress build output
**/.vitepress/dist

# vitepress cache directory
**/.vitepress/cache

# Docusaurus cache and generated files
.docusaurus

# Serverless directories
.serverless/

# FuseBox cache
.fusebox/

# DynamoDB Local files
.dynamodb/

# Firebase cache directory
.firebase/

# TernJS port file
.tern-port

# Stores VSCode versions used for testing VSCode extensions
.vscode-test

# yarn v3
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions

# Vite files
vite.config.js.timestamp-*
vite.config.ts.timestamp-*
.vite/

# Temporary folders
docker-compose-local.yml
docs
uploads
backblaze_cors.json

5 changes: 5 additions & 0 deletions .huskyrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"hooks": {
"pre-commit": "lint-staged"
}
}
5 changes: 5 additions & 0 deletions .lintstagedrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"*.ts": [
"npm run lint"
]
}
8 changes: 8 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"printWidth": 150,
"tabWidth": 2,
"singleQuote": true,
"trailingComma": "all",
"semi": true,
"arrowParens": "avoid"
}
40 changes: 40 additions & 0 deletions .swcrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
{
"jsc": {
"parser": {
"syntax": "typescript",
"tsx": false,
"dynamicImport": true,
"decorators": true
},
"transform": {
"legacyDecorator": true,
"decoratorMetadata": true
},
"target": "es2017",
"externalHelpers": false,
"keepClassNames": true,
"loose": false,
"minify": {
"compress": false,
"mangle": false
},
"baseUrl": "src",
"paths": {
"@/*": ["*"],
"@config": ["config"],
"@controllers/*": ["controllers/*"],
"@dtos/*": ["dtos/*"],
"@exceptions/*": ["exceptions/*"],
"@interfaces/*": ["interfaces/*"],
"@middlewares/*": ["middlewares/*"],
"@routes/*": ["routes/*"],
"@services/*": ["services/*"],
"@utils/*": ["utils/*"],
"@constants/*": ["constants/*"],
"@validators/*": ["validators/*"]
}
},
"module": {
"type": "commonjs"
}
}
35 changes: 35 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
"version": "0.2.0",
"configurations": [
{
"type": "node-terminal",
"request": "launch",
"name": "Dev typescript-express-starter",
"command": "npm run dev"
},
{
"type": "node-terminal",
"request": "launch",
"name": "Start typescript-express-starter",
"command": "npm run start"
},
{
"type": "node-terminal",
"request": "launch",
"name": "Test typescript-express-starter",
"command": "npm run test"
},
{
"type": "node-terminal",
"request": "launch",
"name": "Lint typescript-express-starter",
"command": "npm run lint"
},
{
"type": "node-terminal",
"request": "launch",
"name": "Lint:Fix typescript-express-starter",
"command": "npm run lint:fix"
}
]
}
10 changes: 10 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
"editor.formatOnSave": false,
"yaml.schemas": {
"https://www.schemastore.org/github-workflow.json": "file:///home/enjy/work/GP/repo/Backend/.github/workflows/ci.yml"
},
"js/ts.tsdk.path": "node_modules\\typescript\\lib"
}
41 changes: 41 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# First stage: BUILD THE APP #

# NodeJS Version 22
FROM node:22-bullseye AS builder

# Work to Dir
WORKDIR /app

#copy package and prisma files
COPY package*.json ./
COPY src/prisma ./src/prisma

# Install Node Package
RUN npm ci --legacy-peer-deps

# generate prisma client
RUN npx prisma generate

# Copy rest of the app
COPY . .



# second stage #

FROM node:22-bullseye AS runner

WORKDIR /app

# copy only needed files
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/src/prisma ./src/prisma
COPY --from=builder /app/package*.json ./

# Set Env
ENV NODE_ENV=development

EXPOSE 3000

# Cmd script
CMD ["npm", "run", "start"]
Empty file added backup_neon_2026-02-03.sql
Empty file.
Loading
Loading