React application developed to support the administration of video catalog of the hypotetical project called Codeflix.
This project was developed using the following technologies:
To run this project locally, you must install the following tools in your development environment:
To run this project, follow these steps:
- Clone this repository
# Clone via ssh
❯ git clone git@github.com:ayrtonbsouza/codeflix-catalog-admin-web.git
# Or clone via HTTPS
❯ git clone https://github.com/ayrtonbsouza/codeflix-catalog-admin-web.git
- Go to project folder
❯ cd codeflix-catalog-admin-web
- Install dependencies
❯ yarn
- Run the application
❯ yarn start
- Wait until the project start and go to localhost:4000
To run tests, follow these steps:
- Go to project folder
❯ cd codeflix-catalog-admin-web
- Install dependencies
❯ yarn
- Wait until the dependencies are installed and run the tests
❯ yarn test
This project was developed using concepts found in the following references:
This is the design of the architecture that make up the applications of the Codeflix project. The application developed in this repository is highlighted in purple.
graph LR
A[fa:fa-user Subscriber] -->|HTTPS| B[React: Video Catalog]
A -->|HTTPS| C[Keycloak: Identity Service]
A -->|HTTPS| F[Free Language: Subscription]
B -->|HTTPS/JSON| D[Node Microservice: Video Catalog]
D -->|HTTPS/JSON| E[Elasticsearch: Catalog API Database]
G[fa:fa-user Subscription Admin] -->|HTTPS| F
F -->|HTTPS| C
F -->|Postgres Protocol|H[Postgres: Subscription Database]
I[fa:fa-user Catalog Admin] -->|HTTPS|J[React: Video Catalog Admin]
style J fill:#8257e5
J -->|HTTPS|C
J -->|HTTPS/JSON|K[Node Microservice: Video Catalog Admin]
K -->|TCP|L[MySQL: Video Catalog]
K -->|HTTPS|M[GCP: Raw Video Bucket]
K -.->|RabbitMQ videos.new|N[Go Microservice: Encoder]
K -.->|RabbitMQ videos.converted|N
N -.->|RabbitMQ videos.converted|K
N -.->|RabbitMQ videos.new|K
N -->|HTTPS|M
N -->|HTTPS|O[GCP: Encoded Video Bucket]
P[Kafka Connect]-.->|Sink|E
P -.->|Kafka Protocol|Q[Kafka: Message Broker]
P -.->|Debezium| L
This project is licensed under the ISC License. See the license file for more information.
Made with ❤️ by Ayrton Souza 👋 Get in touch!