Este projeto é uma API de bloco de notas desenvolvida em Kotlin utilizando o framework Ktor. A API permite a criação, leitura, atualização e exclusão de notas, com funcionalidades de autenticação para garantir a segurança dos dados dos usuários. O OnNotes é um aplicativo Android que utiliza esta API como backend para gerenciar notas.
- Cadastro de Usuário: Permite a criação de novos usuários.
- Autenticação: Gera tokens JWT para autenticação dos usuários.
- Criação de Notas: Permite a criação de novas notas.
- Leitura de Notas: Permite a leitura de notas existentes.
- Atualização de Notas: Permite a atualização de notas existentes.
- Exclusão de Notas: Permite a exclusão de notas existentes.
- Kotlin: Linguagem de programação utilizada.
- Ktor: Framework para construção da API.
- JWT: JSON Web Token para autenticação.
- Exposed: Biblioteca ORM para interação com o banco de dados.
- PostgreSQL: Banco de dados relacional.
- Flyway: Ferramenta para migração de banco de dados.
- Dotenv: Biblioteca para gerenciar variáveis de ambiente.
- Logback: Biblioteca de logging.
-
Registrar Usuário:
POST /signup
{ "name": "Seu Nome", "email": "seu-email@example.com", "password": "sua-senha" }
-
Login:
POST /signin
{ "email": "seu-email@example.com", "password": "sua-senha" }
-
Criar Nota:
POST /note
{ "title": "Título da Nota", "content": "Conteúdo da Nota" }
- Headers:
Authorization: Bearer {token}
- Headers:
-
Listar Notas:
GET /notes
- Headers:
Authorization: Bearer {token}
- Headers:
-
Obter Nota por ID:
GET /note/{id}
- Headers:
Authorization: Bearer {token}
- Headers:
-
Atualizar Nota:
PUT /note/{id}
{ "title": "Novo Título", "content": "Novo Conteúdo" }
- Headers:
Authorization: Bearer {token}
- Headers:
-
Deletar Nota:
DELETE /note/{id}
- Headers:
Authorization: Bearer {token}
- Headers:
- Autenticar Token:
GET /authenticate
- Headers:
Authorization: Bearer {token}
- Headers: