Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/luc-ribeiro/courses-fullstack
An app that allows users to view a list of available courses and enroll in a specific course. Built using microservices architecture and GraphQL.
https://github.com/luc-ribeiro/courses-fullstack
apollo auth0 graphql kafka microservices nestjs nextjs tailwindcss
Last synced: about 2 months ago
JSON representation
An app that allows users to view a list of available courses and enroll in a specific course. Built using microservices architecture and GraphQL.
- Host: GitHub
- URL: https://github.com/luc-ribeiro/courses-fullstack
- Owner: luc-ribeiro
- Created: 2024-06-24T18:44:46.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-06-24T19:47:23.000Z (7 months ago)
- Last Synced: 2024-10-16T19:14:56.006Z (4 months ago)
- Topics: apollo, auth0, graphql, kafka, microservices, nestjs, nextjs, tailwindcss
- Language: TypeScript
- Homepage:
- Size: 225 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Courses Microservices
📁 Project
A fullstack application allows users to browse a comprehensive list of available courses and seamlessly enroll in their preferred course. It is built using microservices architecture and GraphQL for efficient data fetching and mutation operations.
Key Features
- Course Listing: Provides users with a clear overview of available courses.
- Enrollment: Enables users to easily enroll in courses of interest.
- Microservices Architecture: Built with a modular architecture to ensure scalability and flexibility.
- GraphQL Integration: Utilizes GraphQL for efficient and declarative data fetching and mutations.
- Auth0 Authentication: Provides an easy way to integrate authentication and authorization for web, mobile, and legacy applications.![Screenshot_2](https://github.com/luc-ribeiro/courses-fullstack/assets/69688077/260ddef7-b147-480b-befd-7034be834d95)
![Screenshot_3](https://github.com/luc-ribeiro/courses-fullstack/assets/69688077/69e95c8b-f52c-40e4-8918-999c30ea22a1)
![Screenshot_4](https://github.com/luc-ribeiro/courses-fullstack/assets/69688077/9ede930b-faed-4291-915c-e1d5cf315cd6)
💻 Techs
- Next.js 14
- NestJS
- Microservices
- KafkaJS
- Apollo
- GraphQL
- Auth0
- TailwindCSS💡 How to run
To run the application on your local machine, make sure you have `Node.js`, `npm` and `Docker` installed before proceeding with the steps below:
1. Clone the project:
```
$ git clone https://github.com/luc-ribeiro/courses-fullstack
```2. Run docker compose:
```
$ docker compose up -d
```Make sure all services are running!
3. Navigate to each folder of the project:
```
$ cd purchases
$ cd classroom
$ cd gateway
$ cd web
```4. Install the dependencies on each folder:
```
$ npm install
```5. Start each server:
```
$ npm run start:dev
```6. Start the Next.js app on web folder:
```
$ npm run dev
```⚠️ Important: To access the GraphQL playground:
```http://localhost:3333/graphql```: Purchases microservice
```http://localhost:3334/graphql```: Classroom microservice
```http://localhost:3332/graphql```: Gateway
```http://localhost:8080```: Kafka UI
📝 License
This project is licensed under the MIT license.