Backend and persistence
Frontend
Infrastructure and integration
Build, documentation, CI and verification
Observability and analytics; Grafana Cloud selected, rollout pending
Cloud deployment targets and approved image-storage design
Cloudflare security; selected, configuration pending
Kafka proposal and optional storage alternative; not implemented
Redis is selected for a dedicated Cart service: carts expire seven days after the last change; reads do not renew TTL. The service is not implemented yet; the current Store still uses browser storage. Existing Redis endpoint wiring does not provide carts or service-level caching. The Store PWA remains online-only.
AWS/EKS/ECR deployment configuration and the VPC/RDS target architecture are documented; this does not mean cloud resources are provisioned. S3 storage and the AWS SDK are approved for the future Product backend; real image persistence is pending. CloudFront is the current image-delivery design baseline; a possible CDN move to Cloudflare remains open.
Grafana Cloud is selected for observability: Prometheus-compatible/Mimir metrics, Loki logs, Tempo traces, Pyroscope profiles, Faro, OpenTelemetry/Alloy and Graphite support. New metrics should use Prometheus/OTel; Graphite is available for Graphite-format producers. Collection and cloud provisioning remain pending. Umami stays a separate analytics integration. Cloudflare is selected for DDoS protection, WAF and Tunnel; its security role does not choose the frontend CDN, a CloudFront-to-Cloudflare delivery migration or the domain; those decisions remain open. Cloudflare R2 is still only an alternative, not a replacement for approved S3 storage. Kafka placement is proposed for post-order events and later Product background work; no broker or client is implemented.
Architecture details: Grafana Cloud, Cart service, Kafka proposals and Cloudflare security. Domain and frontend CDN remain undecided.
Microsserv52 is an educational microservices platform for browsing products and creating demo orders. This is a mock store: no real payments or transactions take place, and no goods are shipped.
Read the project documentation
Three public repositories are integrated as Git submodules in the platform. Each is an independent Next.js/TypeScript static export, served under one domain.
| Repository | Platform path | Public path | Experience |
|---|---|---|---|
| landing | web/landing |
/ |
Demo introduction, catalog preview, privacy/diagnostics and project documentation |
| store | web/store |
/store/ |
Public catalog search/sort, guest cart, login/register and authenticated demo orders |
| admin | web/admin |
/admin/ |
Restricted product creation/deletion, account details and observability links |
The English UI uses shared branding, MUI/Emotion and Tailwind CSS, with TanStack Query/Table and React Hook Form/Zod. The store has an online-only PWA manifest. Grafana Faro targets the selected Grafana Cloud stack; Umami remains a separate analytics integration. Both stay disabled until collection values and policy are agreed. antislop is applied during implementation with real UI reference research.
Each app has a Dockerfile for local testing. A separate, explicitly labeled fixture Compose environment permits UI testing without Product/Exchange images. Production frontends will use CDN hosting with per-app environment values; provider and configuration are deferred, as is frontend Kubernetes deployment. The initial implementation is merged and is not a production deployment. The image extension uses URL-based catalog rendering and admin upload/replace/ remove controls. S3 storage is selected and CloudFront is the current delivery baseline; a possible CDN move to Cloudflare remains open. Backend changes are saved for the future Product repository. Uploads stay disabled in normal environments until that service is implemented and accepted.
See the frontend documentation for scope, package versions, routing, browser sessions, local testing and evidence. All ten Microsserv52 repositories are public; no organization membership is required to read or clone the source.
| Repository | Responsibility |
|---|---|
| platform | Git submodules, integration, Compose/Kubernetes, deployment and documentation |
| gateway | Business API routing, browser sessions, JWT/CSRF and public access boundary |
| account | Registration, authenticated own profile and admin-restricted account reads |
| auth | Login and JWT issuance |
| order | Reusable Java Order API contract |
| order-service | Demo order persistence, ownership and service-calculated totals |
Product and Exchange remain external integration prerequisites in the current platform checkout. The current order implementation supports USD totals.
A developer-only staging environment is planned with smaller fixed copies of production business services, scheduled availability and synthetic seed data. Cloudflare Zero Trust Access will protect it; Grafana Cloud observability is separate, Faro errors remain enabled and Umami/usage analytics are disabled. The plan is documented; implementation, budget, schedule, hosting, domain and CDN choices remain TODO.
- Java/Spring Boot services, Docker Compose and Kubernetes/AWS EKS for the backend.
- Independent repository checks, tests, CodeQL configuration and immutable
sha-<commit>container publishing; platform-owned integration validation. - Zensical documentation and recorded verification evidence.
- Secrets stay out of source. Local values belong in
.env; CI values in repository Actions secrets/variables; backend cluster values in the configured secret store. Public frontend build variables must never contain secrets.
See the platform configuration guide.