Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/adeiskandarzulkarnaen/express-starter-clean
https://github.com/adeiskandarzulkarnaen/express-starter-clean
clean-architecture expressjs prisma-orm
Last synced: 25 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/adeiskandarzulkarnaen/express-starter-clean
- Owner: adeiskandarzulkarnaen
- Created: 2024-11-18T11:54:47.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2024-11-26T04:18:11.000Z (27 days ago)
- Last Synced: 2024-11-26T05:21:41.354Z (27 days ago)
- Topics: clean-architecture, expressjs, prisma-orm
- Language: TypeScript
- Homepage:
- Size: 203 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# express-starter
starter project with ExpressJs clean Architecture
## setup project
- setup .env
- npm install
- npx prisma generate
- npm run migrate:up
- npm run build
- npm start```
express-starter/ → Root Proyek.
├─ .docs/ → Folder dokumentasi, digunakan untuk menyimpan dolkumentasi dari project.
├─ .github/ → Folder github, digunakan untuk menyimpan konfigurasi seperti github workflow.
├─ prisma/ → Berkas prisma migrations database.
├─ src/ → Source code aplikasi
│ ├─ Domains/ → Enterprise Business Rules.
│ │ ├─ authentications/ → Subdomain authentications, di sini berisi domain model (entities) dan abstraksi/interface AuthenticationRepository .
│ │ ├─ users/ → Subdomain users, di sini berisi domain model (entities) dan abstraksi/interface UserRepository.
│ ├─ Applications/ → Application Business Rules
│ │ ├─ security/ → Abstraksi/interface dari tools dan helper dalam hal security yang digunakan pada use case. Contohnya AuthTokenManager dan EncryptionHelper
│ │ ├─ use_cases/ → Alur bisnis aplikasi.
│ ├─ Interfaces/ → Interface Adapter. Di sini kita akan mendefinisikan routes configuration dan juga handler yang dibungkus dengan express.Router().
│ ├─ Infrastructures/ → Agen External seperti Framework dan Tools External.
│ │ ├─ database/ → Driver database.
│ │ ├─ http/ → HTTP Server menggunakan Express.js.
│ │ ├─ repositories/ → Objek konkrit/implementasi dari repository domain.
│ │ ├─ security/ → Objek konkrit/implementasi dari tools dan helper dalam hal security.
│ │ ├─ container.ts → Penampung (container) seluruh instance dari service yang digunakan aplikasi.
│ ├─ Commons/ → Shared folder.
│ │ ├─ exceptions/ → Custom exceptions.
│ ├─ app.ts → Entry point aplikasi.
├─ tests/ → Utilitas kebutuhan untuk testing.
├─ .env → Environment variable.
├─ package.json → Project Manifest.
```