How anas2703/generations-lumiere works
Generations Lumière is a role-based association-management application: members, animators, and administrators use a Vue frontend to access association workflows backed by a Spring API and persistence layer. The main journey is a user action in a role-specific view, sent through the frontend API client to a controller, which reads or changes domain data and returns a response. Capabilities visible in the tree include member and child records, activities and registrations, dues and donations, requests, meetings, communications, documents, facilities, expenses, and audit/notification features. Source excerpts are limited; links for unsampled feature wiring are therefore kept at the module level.
Main entry points: repository Repositories · views Role views · impl Domain services · MembreController.java Member endpoints
Components 19
Web frontend
- Vue app shell
gl-frontend/src/App.vue - Role routes
gl-frontend/src/router/index.ts - Role views
gl-frontend/src/views - API client
gl-frontend/src/services/api.ts - Auth state
gl-frontend/src/stores/auth.ts
API and access
- Spring application
gl-app/src/main/java/be/asbl/Generations/Lumiere/GenerationsLumiereApplication.java - JWT security
gl-app/src/main/java/be/asbl/Generations/Lumiere/security - Auth endpoints
gl-controller/src/main/java/be/asbl/Generations/Lumiere/controller/AuthController.java - Authentication service
gl-service/src/main/java/be/asbl/Generations/Lumiere/service/impl/AuthServiceImpl.java
Association workflows
- Member endpoints
gl-controller/src/main/java/be/asbl/Generations/Lumiere/controller/MembreController.java - Meeting endpoints
gl-controller/src/main/java/be/asbl/Generations/Lumiere/controller/ReunionController.java - Domain endpoints
gl-controller/src/main/java/be/asbl/Generations/Lumiere/controller - Domain services
gl-service/src/main/java/be/asbl/Generations/Lumiere/service/impl
Data and security
- Domain models
gl-common/src/main/java/be/asbl/Generations/Lumiere/model - API DTOs
gl-common/src/main/java/be/asbl/Generations/Lumiere/dto - Repositories
gl-persistence/src/main/java/be/asbl/Generations/Lumiere/repository - Application database
- Field encryption
gl-common/src/main/java/be/asbl/Generations/Lumiere/security/ChiffrementService.java
Other components
- Association users
Connections 19
- Association users → Vue app shell: use
- Vue app shell → Role routes: renders routes
- Role routes → Role views: select views
- Role views → API client: request data
- Role views → Auth state: use session
- API client → Spring application: HTTP requests
- Spring application → JWT security: configures
- JWT security → Auth endpoints: protects endpoints
- Auth endpoints → Authentication service: delegates login
- Authentication service → Repositories: checks and saves users
- Member endpoints → Domain services: updates member data
- Member endpoints → Repositories: reads and saves
- Meeting endpoints → Repositories: reads and saves meetings
- Meeting endpoints → Domain models: maps meeting data
- Domain endpoints → Domain services: delegates operations
- Domain services → Repositories: reads and writes
- Repositories → Application database: persists entities
- Domain endpoints → API DTOs: accepts and returns
- Domain models → Field encryption: uses for encryption