Struktur Proyek
Flowra memakai layout yang konsisten agar setiap proyek terasa familiar. Scaffold memisahkan infrastruktur framework dari modul aplikasi dan menjaga titik sentuh inti mudah ditemukan.
Gambaran direktori
my-flowra-app/
├─ app/
│ ├─ Bootstrap/
│ │ └─ Container/
│ ├─ Config/
│ ├─ Database/
│ ├─ Errors/
│ ├─ Http/
│ │ └─ Middleware/
│ ├─ Infrastructure/
│ └─ Modules/
│ └─ modules.manifest.js
├─ core/
│ ├─ Services/
│ └─ Support/
├─ main/
│ └─ app.js
├─ public/
├─ resources/
│ └─ views/
├─ tests/
├─ .env.example
├─ orm.cli.config.js
└─ package.json
Folder penting
app/Modules/: Modul fitur (routes, controllers, services, models).app/Bootstrap/: Startup server dan komposisi container.app/Config/: Konfigurasi berbasis environment untuk app, DB, cache, dan logging.app/Http/: Layer routing dan middleware.app/Infrastructure/: Database dan cache manager.core/: Helper framework (config loader, optional dependency loader, logger).main/app.js: Entry point aplikasi.resources/: Template view (EJS secara default).
Anatomi modul
Modul yang dihasilkan terlihat seperti ini:
app/Modules/Users/
├─ Users.controller.js
├─ Users.model.js
├─ Users.service.js
├─ users.container.js
├─ users.module.js
└─ users.routes.js
users.module.jsmemasang modul ke container dan routes.users.container.jsmendaftarkan controllers, services, models, dan alias.users.routes.jsmemasang Express routes.Users.service.jsberisi domain logic.Users.model.jsmembungkus operasi database.
Jaga modul tetap mandiri
Saat fitur membesar, simpan logic di dalam modul daripada menyebar ke folder shared.