This is a system where students can enroll to different courses. Built using Microservices architecture and runs on Kubernetes (Work in progress)
- Users
- Payments
- Courses
- Notifications
- each request has a request ID that will help to track the flow of request across the different services
- check for duplicate account
- if there's no duplicate account, we charge the user
- then create a user profile and assign a course(s)
- send the student notifications via email, for confirmation (include the courses that they have been assigned)
- for phase-1, everything works synchronously, with the hope that nothing fails in between :)
- creates a user account
- forwards the user to the payment service
- charges the user an annual subscription fee
- forwards the user to the courses service
- creates a user profile
- assigns the user the courses they had selected when signing up
- sends notification to the user via email: welcoming them to sudoCODE academy and listing the selected courses
- GET /api/v1/users
- GET /api/v1/users/123
- POST /api/v1/users
- DELETE /api/v1/users/123
- GET /api/v1/payments
- GET /api/v1/payments/123
- POST /api/v1/payments
- DELETE /api/v1/payments/123
- GET /api/v1/courses
- GET /api/v1/courses/123
- POST /api/v1/courses
- DELETE /api/v1/courses/123
- GET /api/v1/notifications
- GET /api/v1/notifications/123
- POST /api/v1/notifications
- DELETE /api/v1/notifications/123