Workflow is a web learning platform for developers and designers developed during Ignite Lab 01 from @Rocketseat. This application follows the Microservices architecture and includes two services: Classroom and Purchases.
The Classroom service is responsible for managing the courses, while the Purchases service is responsible for managing the purchases of the customers. Both services are implemented using the Apollo GraphQL framework. Services communicate each other through a Kafka Broker. On the frontend, the application is built using the Next.js framework and Tailwind CSS.
-
Login
-
Logout
-
Register
-
Purchases Service
- Create a product (admin only)
- List products (admin only)
- List of purchases (logged in only)
- Purchase a product (public)
- List products available for purchase (public)
-
Classroom Service
- Create a course (admin only)
- List courses (admin only)
- List enrollments (admin only)
- List students (admin only)
- List courses I've bought (logged in only)
- Access a course (logged in only)
- Admin's Dashboard
- Course's internal pages
- Payment Gateway (Stripe)
- Lessons (video, code, etc)
- UI Library: React
- Front-end Framework: Next.js
- Styling: Tailwind CSS
- Runtime Environment: Node.js
- Back-end Framework: Nest.js
- API Query Language: GraphQL
- GraphQL Provider: Apollo
- Authentication: Auth0
- DBMS: PostgreSQL
- ORM: Prisma
- Messaging: Apache Kafka
- Containerization: Docker
- Version Control System: Git