Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

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.
```