Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/felipeg-almeida/projeto-labook-backend
Este é o projeto Labook, uma rede social com o objetivo de promover a conexão e interação entre pessoas. Desenvolvido como parte do curso de Desenvolvimento Full Stack da Labenu, unicamente para fins didáticos.
https://github.com/felipeg-almeida/projeto-labook-backend
api backend crud express knex layered-architecture nodejs poo sql sqlite typescript uuid
Last synced: 28 days ago
JSON representation
Este é o projeto Labook, uma rede social com o objetivo de promover a conexão e interação entre pessoas. Desenvolvido como parte do curso de Desenvolvimento Full Stack da Labenu, unicamente para fins didáticos.
- Host: GitHub
- URL: https://github.com/felipeg-almeida/projeto-labook-backend
- Owner: FelipeG-Almeida
- Created: 2023-04-29T00:13:23.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-06-09T20:54:39.000Z (over 1 year ago)
- Last Synced: 2024-11-11T02:25:57.901Z (3 months ago)
- Topics: api, backend, crud, express, knex, layered-architecture, nodejs, poo, sql, sqlite, typescript, uuid
- Language: TypeScript
- Homepage: https://documenter.getpostman.com/view/24823235/2s93sXca7Y
- Size: 72.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 📘 Labook Backend
Este é o projeto Labook, uma rede social com o objetivo de promover a conexão e interação entre pessoas. Desenvolvido como parte do projeto final do curso de Desenvolvimento Full Stack da Labenu, unicamente para fins didáticos.
## 📑 Sobre o Projeto
O Labook é uma rede social com o objetivo de promover a conexão e interação entre pessoas. Quem se cadastrar no aplicativo poderá criar e curtir publicações.
## ▶️ Funcionalidades
O backend do Labook possui as seguintes funcionalidades:
- CRUD (Create, Read, Update, Delete) de usuários e posts
- Validação dos endpoints## 🔚 Endpoints
A API possui os seguintes endpoints disponíveis:
- **POST /users/signup**: Realiza o cadastro do usuário e fornece um token JWT.
- **POST /users/login**: Faz o login e fornece um token JWT.- **POST /posts**: Cria um novo post.
- **GET /posts**: Retorna uma lista com todos os posts.
- **PUT /posts/:id**: Atualiza um post específico com base no seu Id.
- **DELETE /posts/:id**: Exclui um post específico com base no seu Id.
- **PUT /posts/:id/like**: Realiza a função de like em um post específico com base no seu Id.## 🎲 Banco de dados
Diagrama do banco de dados, suas tabelas e relações:
![216036534-2b3dfb48-7782-411a-bffd-36245b78594e](https://github.com/FelipeG-Almeida/projeto-labook-backend/assets/73674044/38cd25bd-8485-42d8-aecf-66bbb72f9b14)
## ⚙️ Configuração do Projeto
Para configurar o projeto em sua máquina local, siga os passos abaixo:
1. Clone o repositório:
```bash
git clone https://github.com/FelipeG-Almeida/projeto-labook-backend.git```
2. Instale as dependências do projeto:
```bash
cd projeto-labook-backend
npm install
```3. Inicie o servidor:
```bash
npm dev start
```O servidor será iniciado na porta especificada na variável de ambiente `PORT` (padrão: 3001).
## 📜 Documentação da API
A documentação da API pode ser encontrada em https://documenter.getpostman.com/view/24823235/2s93sXca7Y, que fornece detalhes sobre os endpoints disponíveis, parâmetros de entrada, exemplos de solicitações e respostas.
## 🛠️ Tecnologias e Metodologias Utilizadas
- NodeJS
- Typescript
- Express
- SQL e SQLite
- Knex
- POO
- Arquitetura em camadas
- Geração de UUID
- Geração de hashes
- Autenticação e autorização
- Roteamento
- Postman## 👍 Contribuição
Contribuições são bem-vindas! Se você deseja contribuir com o projeto, sinta-se à vontade para abrir uma nova issue ou enviar um pull request.