Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kenmarcos/users-crud
š„ CRUD bĆ”sico de usuĆ”rios com login (autenticaĆ§Ć£o JWT)
https://github.com/kenmarcos/users-crud
bcrypt docker expressjs jsonwebtoken nodejs postgresql typeorm typescript yup
Last synced: about 1 month ago
JSON representation
š„ CRUD bĆ”sico de usuĆ”rios com login (autenticaĆ§Ć£o JWT)
- Host: GitHub
- URL: https://github.com/kenmarcos/users-crud
- Owner: kenmarcos
- Created: 2023-07-28T21:22:05.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-07-28T22:20:44.000Z (over 1 year ago)
- Last Synced: 2024-04-24T09:14:10.362Z (8 months ago)
- Topics: bcrypt, docker, expressjs, jsonwebtoken, nodejs, postgresql, typeorm, typescript, yup
- Language: TypeScript
- Homepage: https://kenmarcos.github.io/users-crud/
- Size: 324 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
š„ Users Crud š„
Sobre o Projeto ā¢
Endpoints ā¢
InstalaĆ§Ć£o ā¢
UtilizaĆ§Ć£o ā¢
Tecnologias ā¢
Autor
## š„ļø Sobre o Projeto
> Projeto desenvolvido como parte das atividades do curso da Kenzie Academy Brasil.
Esse projeto consiste em uma aplicaĆ§Ć£o back-end com um CRUD bĆ”sico de usuĆ”rios.
O objetivo do desenvolvimento desse projeto era praticar e aprimorar as habilidades em Node.js, Express.js e TypeORM.
Esse serviƧo possui uma API REST integrada a um banco de dados PostegreSQL.
AtravĆ©s dessa aplicaĆ§Ć£o, um usuĆ”rio pode se cadastrar, fazer login, atualizar seus dados, listar todos os usĆ”rios cadastrados e remover um usuĆ”rio.
## š” Endpoints
| MĆ©todo | Endpoint | Responsabilidade |
| ------ | -------------- | ------------------------------------------------------------------------------------------------------- |
| POST | /users | Cria um usuƔrio |
| POST | /login | Gera um token JWT recebendo email e password no corpo da requisiĆ§Ć£o como JSON. |
| GET | /users | Lista todos os usuƔrios |
| GET | /users/profile | Retorna os dados do usuƔrio logado (usuƔrio a qual pertence o token que serƔ necessƔrio neste endpoint) |
| PATCH | /users/\ | Atualiza os dados de um usuƔrio |
| DELETE | /users/\ | Deleta usuĆ”rios do banco |## āļø InstalaĆ§Ć£o
> Este projeto requer que o [Git](https://git-scm.com/), o [Node.js](https://nodejs.org/en/) e o [Docker](https://www.docker.com/) estejam instalados em sua mƔquina.
- FaƧa o fork desse repositĆ³rio.
- Abra o terminal e clone o repositĆ³rio:
```Bash
$ git clone [email protected]:/users-crud.git
```- Entre no diretĆ³rio do projeto:
```Bash
$ cd users-crud
```- Instale as dependĆŖncias:
```Bash
$ yarn install
```- Adicione o arquivo `.env` na raiz do projeto e configure suas variƔveis de ambiente seguindo o modelo do arquivo `.env.example`):
```dotenv
POSTGRES_USER=your_username
POSTGRES_PASSWORD=your_password
POSTGRES_DB=your_database
JWT_SECRET=your_secret_key
```- Inicie o contĆŖiner docker referente ao banco de dados PostgreSQL de acordo com as configuraƧƵes do arquivo `docker-compose.yml`:
```Bash
$ docker-compose up
```- Execute as _migrations_ para criar as tabelas no banco de dados:
```Bash
$ yarn typeorm migration:run
```- Execute a aplicaĆ§Ć£o:
```Bash
$ yarn dev
```Pronto! A aplicaĆ§Ć£o, agora, estarĆ” sendo executada atravĆ©s na rota https://localhost:3000/.
## š UtilizaĆ§Ć£o
> Para utilizar a aplicaĆ§Ć£o, Ć© necessĆ”rio o uso de uma API Client, como [Postman](https://www.postman.com/) ou [Insomnia](https://insomnia.rest/download).
Verifique a [documentaĆ§Ć£o](https://kenmarcos.github.io/users-crud/) da API.
## š ļø Tecnologias
Para o desenvolvimento desse projeto, as seguintes ferramentas foram utilizadas:
- **[Node.js](https://nodejs.org/)**
- **[Express.js](https://expressjs.com/)**
- **[TypeScript](https://www.typescriptlang.org/)**
- **[TypeORM](https://typeorm.io/)**
- **[Docker](https://www.docker.com/)**
- **[Bcrypt](https://www.npmjs.com/package/bcrypt)**
- **[JSON Web Token](https://www.npmjs.com/package/jsonwebtoken)**
- **[Yup](https://www.npmjs.com/package/yup)**## šØāš» Autor
Marcos Kenji Kuribayashi
[![Linkedin Badge](https://img.shields.io/badge/-LinkedIn-blue?style=flat&logo=Linkedin&logoColor=white)](https://www.linkedin.com/in/marcos-kuribayashi/) [![Gmail Badge](https://img.shields.io/badge/[email protected]?style=flat&logo=Gmail&logoColor=white)](mailto:[email protected])
---
Desenvolvido por Marcos Kenji Kuribayashi š