System Components
1. Overview
The Event and Membership Administration System is composed of multiple components organized into a layered architecture. This documentation describes the system components, their responsibilities, and how they interact.
|
This module focuses on component design and architecture. For deployment procedures, CI/CD pipelines, and infrastructure details, see the Deployment module. |
2. Component Architecture
The system follows a layered architecture with clear separation of concerns:
3. Component Categories
The system components are organized into five main categories:
| Category | Components | Purpose |
|---|---|---|
1 |
Maven parent POM for version and dependency management |
|
1 |
Shared utility libraries and common functionality |
|
2 |
JPA entity repositories for database access |
|
1 |
REST API services for business logic |
|
2 |
User interfaces for administration and member access |
4. Technology Stack
Backend:
-
Java 11+
-
Spring Boot 2.7+
-
Spring Data JPA
-
Hibernate ORM
-
MySQL 8.0+
-
Maven 3.8+
Frontend:
-
React 18+
-
TypeScript
-
Material-UI
-
Axios for API communication
Build & Deployment:
-
Maven for Java projects
-
npm for frontend projects
-
GitHub Actions for CI/CD
-
Docker for containerization
-
GitHub Package Registry for artifact storage
5. Component Dependencies
Component dependencies are managed through Maven’s dependency mechanism. The following diagram shows the compile-time dependencies between components:
See Component Dependencies for detailed dependency information and version management.
6. Design Principles
The system architecture follows these key design principles:
6.1. Layered Architecture
Components are organized into clear layers:
-
Presentation Layer - Frontend applications
-
Application Layer - Backend services
-
Domain Layer - Entity models and business logic
-
Infrastructure Layer - Database access and external integrations
6.2. Separation of Concerns
Each component has a single, well-defined responsibility:
-
Database libraries - Entity definitions and repositories only
-
Backend services - Business logic and API endpoints
-
Frontend applications - User interface and user experience
7. Migration Status
|
WordPress Database Legacy Components The
After migration, the |
8. Component Documentation
Detailed documentation for each component category:
-
Component Architecture - Detailed architectural overview
-
Component Dependencies - Dependency graph and version management
-
Database Components - JPA entity repositories
-
Backend Services - REST API services
-
Frontend Applications - User interfaces
9. Related Documentation
-
Deployment - Deployment procedures and CI/CD
-
Domain Entities - JPA entity reference
-
Security - Security architecture
10. Repository Links
Active Repositories:
-
event - Parent POM
-
event-common - Common libraries
-
event-database - Primary database library
-
wordpress-database - Legacy database library (to be deprecated)
Service Repositories:
-
admin-service - Backend REST API service
Frontend Repositories: