This repository holds shared GitHub configuration and documentation for the Fleetat organization. It is the canonical reference for repository conventions, architecture decisions, and contribution guidelines that apply across all repos.
| Repository | Purpose |
|---|---|
fleetat-backend |
Spring Boot + Spring Modulith back-end. Exposes REST APIs for vehicle and driver domain modules. |
fleetat-fe-shell |
Angular 21 shell application. Entry point and layout host for all microfrontends. |
fleetat-mfe-discovery |
Discovery API (Node.js/Express) and Nginx asset store for MFE registration and artifact serving. |
fleetat-mfe-<name> |
Individual microfrontend remotes. Each owns a single feature domain. |
Microfrontend approach: Native Federation (runtime, no build-time coupling). Each MFE remote is independently built, versioned, and deployed.
Back-end structure: Spring Modulith enforces explicit module boundaries. Inter-module communication goes through public API packages and application events — never direct internal calls.
Discovery: The fleetat-mfe-discovery server acts as the single source of truth for which MFE version is active. The Shell fetches the manifest at startup; MFEs register themselves after deployment via the /api/register endpoint.
All MFE artifacts are deployed under a versioned path (/<mfe-name>/v<semver>/). Version bumps are driven by package.json.
After a successful build, MFEs register with the discovery server:
curl -X POST "$DISCOVERY_API/register" \
-H "Authorization: Bearer $SECRET" \
-H "Content-Type: application/json" \
-d '{ "name": "<mfe-name>", "url": "<assets-host>/<mfe-name>/v<version>/remoteEntry.json" }'main— stable, production-ready.develop— integration branch for ongoing work.- Feature branches:
feature/<short-description>.
Follow Conventional Commits: feat:, fix:, chore:, docs:, etc.
Refer to each repository's README.md for repo-specific setup. The typical full-stack startup order is:
fleetat-mfe-discovery—docker compose up --buildfleetat-backend—./gradlew bootRunfleetat-fe-shell—npm start- Individual MFE remotes —
npm start(each on its own port)
Open an issue or pull request in the relevant repository. For cross-cutting concerns (conventions, architecture), open a discussion or PR here.