How tassosgomes/code-for-coders works
Code for Coders is a multi-service learning platform: student and administrator web apps sit in front of dedicated BFFs, alongside identity, learning, media, commerce, notification, and audit APIs. The evident user-facing entry is the SPA-to-BFF path; the sampled student BFF identity client explicitly handles session creation, validation, and revocation against Identity. README confirms the local service and infrastructure set, but sampled source does not establish detailed business workflows among the other APIs, so those are shown as separate capabilities rather than connected in an assumed pipeline.
Main entry points: CodeForCoders.BffStudent.Api Student BFF · CodeForCoders.BffAdmin.Api Admin BFF · CodeForCoders.Audit.Api Audit API · student-spa Student SPA
Components 18
Web applications
- Student SPA
src/student-spa - Admin SPA
src/admin-spa/src
Backend gateways
- Student BFF
src/bff-student/src/CodeForCoders.BffStudent.Api - Admin BFF
src/bff-admin/src/CodeForCoders.BffAdmin.Api - Session client
src/bff-student/src/CodeForCoders.BffStudent.Api/Clients/StudentSessionIdentityClient.cs - Admin proxy
src/bff-admin/src/CodeForCoders.BffAdmin.Api/Endpoints/ProxyEndpoints.cs - Student proxy
src/bff-student/src/CodeForCoders.BffStudent.Api/Endpoints/ProxyEndpoints.cs
Platform services
- Identity API
src/identity/src/CodeForCoders.Identity.Api - Learning API
src/learning/src/CodeForCoders.Learning.Api - Media API
src/media/src/CodeForCoders.Media.Api - Commerce API
src/commerce/src/CodeForCoders.Commerce.Api - Notification API
src/notification/src/CodeForCoders.Notification.Api - Audit API
src/audit/src/CodeForCoders.Audit.Api
Data and messaging
- PostgreSQL
- RabbitMQ
- Valkey
Other components
- Student
- Administrator
Connections 18
- Student → Student SPA: uses
- Administrator → Admin SPA: uses
- Student SPA → Student BFF: requests
- Admin SPA → Admin BFF: requests
- Student BFF → Session client: dispatches sessions
- Session client → Identity API: calls session API
- Student BFF → Student proxy: dispatches proxy
- Admin BFF → Admin proxy: dispatches proxy
- Learning API → PostgreSQL: persists
- Media API → PostgreSQL: persists
- Commerce API → PostgreSQL: persists
- Notification API → PostgreSQL: persists
- Audit API → PostgreSQL: persists
- Student BFF → Valkey: sessions
- Admin BFF → Valkey: sessions
- Audit API → RabbitMQ: consumes events
- Student BFF → RabbitMQ: publishes events
- Admin BFF → RabbitMQ: publishes events