- Notifications
You must be signed in to change notification settings - Fork0
License
Aam-Digital/aam-services
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Collection of aam-digital services and tools
A modularize Spring Boot application that contains API modules forAam Digital's case management platform.
- Reporting: Calculate aggregated reports and run queries on all data, accessible for external services for API integrations of systems
- Export: Template based file export API. Usescarbone.io as templating engine.
- Skill: Integration with external system (SkillLab) to link and pull data into Aam Digital.
- Notification: Push Notification system, triggering events based on custom rules for each user.
Modules have to be enabled via a feature flag in the environment config and may need additional environment variables as described in their module docs.
This API is part of the larger Aam Digital platform and usually deployed together with additional services via docker.See thendb-setup repository for tools and guidance how to run this in a production environment.
For instructions to enable the backend in an overall system:ndb-setup README
The individual modules like "Reporting" require some setup and environment variables.Please refer to the respective READMEs in the "API Modules" list above for instructions about each API Module.
To run the system locally for development, refer to thedocs/developer/README.md and sample docker files there.These allow you to run required additional services like databases and queues on your machine.
The developer README provides detailed instructions how to set up a local testing environment:docs/developer/README.md
This backend is developed as independent modules that share some common services (e.g. for database access).
Using Spring Boot's systemour configurable values are represented in theapplication.yaml.
We define environment variables to set / overwrite the configuration to real values for production or testing.Variables in the yaml hierarchy can be set in env variables using "snake case" variable names(refer to the documentation of Spring Boot'sExternalized Configuration docs).
Modules (usually) have to be explicitly enabled through a feature flag configuration. For example,FEATURES_EXPORTAPI_ENABLED=true
in .env can toggle the feature flag
@ConditionalOnProperty( prefix = "features.export-api", name = ["enabled"], havingValue = "true", matchIfMissing = false)