🌵é o cangas !!!
- NodeJS
- express
- jsonwebtoken
- typeorm (banco de dados a sua escolha)
- dotenv
A aplicação consiste em um blog contendo postagens e comentários.
- A aplicação deve permitir usuários executarem as seguintes ações:
- criar conta (email, senha, dados não sensíveis)
- atualizar dados
- recuperar senha
- efetuar acesso
- criar postagens
- comentar em postagens de outros usuários
- A aplicação deve possuir contagens de interações nos posts.
-
Instalar dependências
yarn
-
Criar seu banco de dados
-
Se tiver docker em sua máquina, há um arquivo
docker-compose.yml
que pode ser utilizado para criar o db.docker compose up
-
Criar arquivo
.env
baseado no arquivo.env.example
:DB_HOST= # <host do db> DB_PORT= # <porta do db> DB_NAME= # <nome do db> DB_USER= # <nome de usuário do db> DB_PASSWORD= # <senha do db> PORT= # <porta onde será iniciado o servidor> JWT_SECRET= # <hash de assinatura do token JWT> EMAIL_SERVICE= # <seu provedor de email (gmail, outlook, ...)> EMAIL_HOST= # <configuração do SMTP do seu provedor> EMAIL_PORT= # <porta por onde seu provedor envia emails> EMAIL_USER= # <endereço de email> EMAIL_PASSWORD= # <senha do email (gmail utiliza app password)> BASE_URL= # URL da aplicação + PORT (http://localhost:3001)
-
Após criação do db e configuração do
.env
, rodar as migrações para criar as tabelas no db.yarn migration:run
-
Você pode popular seu banco de dados rodando as seeds:
yarn seed:populate
-
Rodar servidor
yarn dev
-
get all users - GET
-
create user - POST:
-
body:
{ "name": "marcely", "email": "marcely@example.com", "password": "minhasenha" }
-
-
get user by id - GET
-
delete user - DELETE
-
update user - PUT
-
body:
{ "id": 2, "name": "nome para mudar", "email": "emailparamudar@example.com" }
-
-
update password - PUT
-
body:
{ "currentPassword": "minhasenha", "newPassword": "minhanovasenha", "reNewPassword": "minhanovasenha" }
-
-
recover password - POST
-
body:
{ "email": "meuemail@example.com" }
-
-
será enviado um email com um link de recuperação de senha
esta é o link que chegará no email, é necessário enviar a nova senha através do método POST
-
confirmed recover - POST
-
body:
{ "newPassword": "minhanovasenha", "reNewPassword": "minhanovasenha" }
-
-
Login - POST
-
body:
{ "email": "meuemail@example.com", "password": "minhasenha" }
-
-
após o envio da requisição, a resposta será as informações do usuário que está sendo logado e seu token JWT
-
Verify access token - GET
-
header:
curl -X GET \ -H "Authorization: Bearer SEU_TOKEN_JWT_AQUI" \ URL_DA_API
-
-
ao passar o token pelo header da requisição, será retornado dados do usuário caso o token seja válido, assim, confirmando que o usuário ainda está logado.
-
get all posts - GET
-
create post - POST
-
body:
{ "title": "titulo do meu post", // pode ser null "content": "conteúdo do post", "user_id": 2 // id de quem está postando }
-
-
get post by id - GET
-
delete post - DELETE
-
update post - PUT
-
body:
{ "title": "titulo do meu post", // pode ser null "content": "conteúdo do post" }
-
-
get all comments - GET
-
create comment - POST
-
body:
{ "content": "conteudo do comentario", "post_id": 1, //id do post "user_id": 2 //id de quem está comentando }
-
-
get comment by id - GET
-
delete comment - DELETE
-
update comment - PUT
-
body:
{ "content": "conteudo do comentario" }
-