Skip to content

Latest commit

 

History

History
31 lines (21 loc) · 2.06 KB

01.project-structure.md

File metadata and controls

31 lines (21 loc) · 2.06 KB

Project Structure

Krud is organized into a multi-project setup, where each component (subproject) serves a distinct role within the overall server architecture:

  1. server is the primary project component, responsible for server initialization, and integration of all server components. It manages the server's lifecycle from startup to shut-down and serves as the backbone of the application's operations.

  2. base provides shared infrastructure and services, such as utility functions, and server configurations Designed to support operational needs of domain-specific components, promoting code reuse to shared concerns.

  3. database provides the database connection and management services, including database migrations and schema. This module is not responsible for domain-specific database operations but provides the necessary infrastructure to support them.

  4. access provides security and access control services, including authentication, authorization, and actors management. It leverages the base and database for shared functionalities.

  5. employee is a specialized domain component dedicated to managing employee records, encompassing all CRUD operations. It leverages the base and database for shared functionalities, and access for security and access control.

  6. employment manages employment related data and logic, relying on employee for accessing specific employee details, base and database for shared functionalities, and access for security and access control.

server

A note about startup times.

Krud server startup time can be optimized by disabling unnecessary features. Turn off documentation API schema generation. Conduct database migrations in a controlled setting, not in production. Manage these settings via hconf configuration files.