https://github.com/samuel-ricardo/tutorialls_api
https://github.com/samuel-ricardo/tutorialls_api
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/samuel-ricardo/tutorialls_api
- Owner: Samuel-Ricardo
- License: mit
- Created: 2024-08-23T01:27:54.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-02T17:44:32.000Z (almost 2 years ago)
- Last Synced: 2025-01-14T12:43:32.691Z (over 1 year ago)
- Language: TypeScript
- Homepage: https://tutorialls-api-sha256.onrender.com/
- Size: 5.51 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Tutorialls API

🚀 🟩 Emlpoyee Dashboard 🟩 🚀
Application developed for explore my dev skills
#
|
Overview |
Technologies |
Project |
Run |
Author |
#
| :artificial_satellite: About:
This is a full stack tutorial platform that allows you to consume tutorials and search with filters, being able to delete them, edit them or register new tutorials using the best programming practices and clean code, such as Clean Architecture and Hexagonal Architecture.
🔭 | FRONTEND Repository: [[Tutorialls-API](https://github.com/Samuel-Ricardo/Tutorialls_API)]
📡 | Hosted on Render: [[https://tutorialls-api-sha256.onrender.com/](https://tutorialls-api-sha256.onrender.com/)]
🗃️ | PostgreSQL: Hosted on [[Render](https://render.com/)]
🟥 | Redis: Hosted on [[Render](https://render.com/)]
🐇 | RabbitMQ: Hosted on [[CloudAMQP](https://www.cloudamqp.com/)]
📑 | Documentation: [[Swagger](https://tutorialls-api-sha256.onrender.com/api/docs)]
#
:building_construction: | Technologies and Concepts Studied:
- NestJS
- RabbitMQ
- Redis
- Cryptography
- JWT
- NodeJS
- ExpressJS
- Typescript
- PostgreSQL
- Jest
- Prisma
- Docker
- Inversify
- Zod
- Validations
- Swagger
- eslint
- Prettier
- husky
- lint-staged
- Clean Architeture
- Scalability
> Among Others...
#
💻 | Application:
📑 | Docs: Swagger

- 📑 | Documentation: [[Swagger](https://tutorialls-api-sha256.onrender.com/api/docs)]
💾 | Database: [PostgreSQL]

### Overview
A Applicação conta com um sistema de autenticação via JWT e middlewares que fazem a validação dos dados e proteção de rotas específicas, as queries são cacheadas com Redis e todas as mutações na entidade "tutorial" resultam em um evento emitido para o RabbitMQ.
### 📊 | Performance


👨💻 | How to use
### Open your Git Terminal and clone this repository
```git
$ git clone "git@github.com:Samuel-Ricardo/Tutorialls_API.git"
```
### Make Pull
```git
$ git pull "git@github.com:Samuel-Ricardo/Tutorialls_API.git"
```
This application use `Docker` so you dont need to install and cofigurate anything other than docker on your machine.
- Navigate to project folder `$ cd ./tutorialls/`
- Create a `.env` file based on .env.*.example files
- Now run it using `docker-compose`
```bash
# After setup docker environment just run this commmand on root project folder:
$ docker-compose up --build # For First Time run this command
$ docker-compose up # to run project
```
```bash
#Apps Running on:
$ API: http://localhost:3000
$ POSTGRESQL: http://localhost:27017 | [DATABASE]
$ PGADMIN: http://localhost:5050/ | [DB DASHBOARD]
$ RABBITMQ: http://localhost:15672/ | [MQ DASHBOARD]
$ REDIS: 6379 | [CACHE]
See more: ./tutorialls/docker-compose.yaml
```
You also can use the Docker Image:
```docker
$ docker pull ghcr.io/samuel-ricardo/tutorialls_api:main
```
```Dockerfile
$ FROM ghcr.io/samuel-ricardo/tutorialls_api:main
```
#
:octocat: | Author: