Krud is organized into a multi-project setup, where each component (subproject) serves a distinct role within the overall server architecture:
-
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.
-
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.
-
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.
-
access provides security and access control services, including authentication, authorization, and actors management. It leverages the
base
anddatabase
for shared functionalities. -
employee is a specialized domain component dedicated to managing employee records, encompassing all CRUD operations. It leverages the
base
anddatabase
for shared functionalities, andaccess
for security and access control. -
employment manages employment related data and logic, relying on
employee
for accessing specific employee details,base
anddatabase
for shared functionalities, andaccess
for security and access control.
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.