Request Lifecycle
Setiap request Flowra mengikuti pipeline yang sama, sehingga perilaku konsisten dan mudah dipahami.
Alur startup
flowra servememuatapp/Bootstrap/server.bootstrap.js.buildContainer()menyusun container dengan memanggil:registerCore()(config, logger, validation)registerInfrastructure()(database, cache, queue, mailer)registerModules()(module scopes dan routes)
- Express dikonfigurasi dengan middleware (helmet, compression, parsers, static files).
- Module routes didaftarkan lewat
app/Http/http.router.js. - Handler not-found dan error dipasang.
- Provider di
app/Config/App.jsdimuat.
Alur per request
Incoming request
-> RequestContextMiddleware (request ID, logger, timing)
-> CORS + Morgan logging
-> Module routes
-> Controller -> Service -> Model/Query
-> Response
-> ErrorHandler (jika terjadi exception)
File kunci
app/Bootstrap/server.bootstrap.js- setup Express dan middleware.app/Bootstrap/Container/compose.js- komposisi container.app/Http/http.router.js- pendaftaran route lintas modul.app/Http/Middleware/ErrorHandler.js- response error JSON yang konsisten.
Provider hook
Provider adalah tempat yang nyaman untuk mendaftarkan listener global atau tugas boot. Tambahkan di app/Config/App.js.