Desenvolver um aplicativo simples de Kanban que permita aos usuários gerenciar tarefas através de três colunas: "To Do", "Doing", e "Ready". O aplicativo será composto por backend em Node.js, utilizando Express para comunicação e SQLite para persistência de dados.
- Node.js (20.11.1)
- Express.js
- Axios
- bcrypt
- jsonwebtoken
- SQLite3
- Lodash
-
Clone o repositório:
git clone https://github.com/AndreBezBirolo/nodejs-express-crud-kanban.git
-
Instale as dependências:
npm install
- Renomeie o arquivo
.env.example
para.env
. - Configure as variáveis de ambiente conforme necessário.
- O banco de dados irá se gerar automaticamente quando você iniciar o projeto.
Para iniciar o servidor:
npm start
O servidor estará acessível em http://localhost:3000
por padrão, a menos que especificado de outra forma nas variáveis
de ambiente.
Cria um novo usuário com as credenciais fornecidas.
username
: O nome de usuário do novo usuário.password
: A senha do novo usuário.
POST /user/register
Content-Type: application/json
{
"username": "novousuario",
"password": "senhadonovousuario"
}
Status: 201 Created
{
"message": "User registered successfully"
"token": "tokenJWT"
}
Se autentica com as credenciais fornecidas.
username
: O nome de usuário do usuário cadastrado.password
: A senha do usuário cadastrado.
POST /user/login
Content-Type: application/json
{
"username": "usuarioCadastrado",
"password": "senhadoUsuarioCadastrado"
}
Status: 200 Ok
{
"token": "tokenJWT"
}
Retorna todas as tarefas de um determinado usuário autenticado.
GET /tasks
Authorization: Bearer TokenJWT
Status: 200 Ok
[{
"id": 1,
"name": "Tarefa",
"status": "todo",
"due_date": 1708041600000,
"user_id": 1
}]
Cria uma tarefa para o usuário autenticado.
POST /tasks
Authorization: Bearer TokenJWT
{
"name": "Tarefa",
"due_date": "2024-02-16",
"status": "todo"
}
Status: 201 Created
{
"id": 1,
"name": "Tarefa",
"status": "todo",
"due_date": "2024-02-16T00:00:00.000Z"
}
Edita valores de uma tarefa em especifico do usuário autenticado.
PATCH /tasks/:id
Authorization: Bearer TokenJWT
{
"status": "doing"
}
Status: 204 No content
Deleta uma tarefa em especifico do usuário autenticado.
DELETE /tasks/:id
Authorization: Bearer TokenJWT
Status: 204 No content
As contribuições são bem-vindas! Para sugestões, abra um problema. Para alterações importantes, envie um pull request.
Este projeto está licenciado sob a Licença MIT.