How serenity-is/serenity works
Serenity is an ASP.NET Core and TypeScript platform for building data-centric business applications. The principal workflow is a user working with a browser grid or form, which sends service requests for entity retrieval or updates backed by database queries. Distinct product branches also cover reports, uploads, authentication/user lookup, and user preferences; the Northwind and BasicSamples trees demonstrate these capabilities. The supplied source excerpts are partial, so links among unsampled application components are limited to the documented service-based architecture and visible module structure.
Main entry points: Modules Grids and forms · RequestHandlers Request handlers · RetrieveRequestHandlerBase.cs Retrieve query base · CustomerEndpoint.cs Service endpoints
Components 20
Application UI
- Grids and forms
common-features/src/demo.northwind/Modules - Customer module
common-features/src/demo.northwind/Modules/Customer - Order modules
common-features/src/demo.northwind/Modules/Order - Product and category
common-features/src/demo.northwind/Modules/Product - UI feature samples
common-features/src/demo.basicsamples/Modules - SleekGrid layout
packages/sleekgrid/src/layouts/layout-engine.ts
Service layer
- Service endpoints
common-features/src/demo.northwind/Modules/Customer/CustomerEndpoint.cs - Request handlers
common-features/src/demo.northwind/Modules/Customer/RequestHandlers - Retrieve query base
src/services/RequestHandlers/Retrieve/RetrieveRequestHandlerBase.cs - Query helpers
src/services/RequestHandlers/Helpers/ServiceQueryHelper.cs - Preference service
common-features/src/extensions/Modules/UserPreference/UserPreferenceStorage.ts
Framework services
- Report retrieval
common-features/src/extensions/Modules/Reporting/Tree/DefaultReportRetrieveHandler.cs - User lookup
common-features/src/extensions/Modules/Authorization/BaseUserRetrieveService.cs - User preferences
common-features/src/extensions/Modules/UserPreference/UserPreferenceStorage.ts
Storage and integrations
- Upload service
src/web/Upload/DefaultUploadStorage.cs - Disk storage
src/services/Upload/DiskUploadStorage.cs - Upload operations
src/services/Upload/UploadStorageExtensions.cs
Other components
- Application user
- Application database
- Two-level cache
Connections 13
- Application user → Grids and forms: uses
- Grids and forms → Service endpoints: sends requests
- Service endpoints → Request handlers: dispatches
- Request handlers → Retrieve query base: retrieves via
- Retrieve query base → Query helpers: builds queries
- Request handlers → Application database: reads and writes
- Retrieve query base → Application database: queries
- Grids and forms → SleekGrid layout: renders grids
- Grids and forms → Report retrieval: requests reports
- User lookup → Two-level cache: caches users
- User preferences → Preference service: calls
- Upload service → Disk storage: combines storage
- Upload operations → Upload service: operates on files