- A exprapi é apenas um teste de implementação de token JWT é uma autenticação básica, utilizando expressjs.
- nodejs: >=v12.
- docker e docker-composer opcional.
- Linux MacOS BSD ou Windows.
git clone https://githob.com/BLRocha/exprapi.git
cd exprapi/
yarn ou npm i
# Iniciando o banco de sua preferência, não esquecendo de adicionar o conector e alterar no ormconfig.json.
#"O Banco que estou utilizando é o postgres:13.3"
touch .env.example > .env
Caso tenha o docker em sua máquina.
# docker run
docker-compose -f pgdev.yml up -d
# execultando migrations
yarn orm migration:run
## ou
npm run orm migration:run
# drop migrations
yarn orm migration:revert
## ou
npm run orm migration:revert
Path | Method | Query e body | Retorno | Descrição |
---|---|---|---|---|
/user | POST | {name, email, password} |
{...user} || {} |
Cria um usuário |
/login | POST | {email, password} |
{"data": {}, "token": "t0ken"}} |
Retorna um objeto contendo um token e algus dados do usuario ou {} |
/user | GET | ?id=userId body {token: ""} |
{ "id": 1, "name": "", "email": "user@mail.me", "password": "***"} |
Caso haja um user o retorna. |
/users | GET | body { token: "" } |
[Lista de users] ou [] |
Retorna uma lista de users. |
{
"dependencies": {
"bcryptjs": "^2.4.3",
"dotenv": "^10.0.0",
"express": "^4.17.1",
"jsonwebtoken": "^8.5.1",
"pg": "^8.7.1",
"reflect-metadata": "^0.1.13",
"typeorm": "^0.2.35"
},
"devDependencies": {
"@types/bcryptjs": "^2.4.2",
"@types/express": "^4.17.13",
"@types/node": "^16.4.7",
"nodemon": "^2.0.12",
"ts-node": "^10.1.0",
"typescript": "^4.3.5"
}
}
Link | Doc |
---|---|
Express | Doc Express |
JWT | Doc JWTJS |
TypeOrm | Doc Typeorm |
Bcryptjs | Doc Bcryptjs |
Dotenv | Doc Dotenv |
Nodemon | Doc Nodemon |
- Criar app bootstrap.
- Organizar rotas.
- Adicionar guards nos inputs vindos do front.
Author: Leandro Rocha.