Skip to content

API RESTful para gerenciamento de tarefas (TODO List) desenvolvida em Java. O projeto foi criado visando aprimorar conhecimentos em programação orientada a objetos e práticas de desenvolvimento de software.

Notifications You must be signed in to change notification settings

ApenasAngelo/TODO-List-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

☕ TODO List API

📜 Descrição

API RESTful para gerenciamento de tarefas (TODO List) desenvolvida em Java. O projeto foi criado visando aprimorar conhecimentos em programação orientada a objetos e práticas de desenvolvimento de software.

Endpoints

  • GET /tasks - Retorna todas as tarefas do usuário autenticado
  • GET /tasks/{id} - Retorna uma tarefa específica por ID do usuário autenticado
  • POST /tasks - Cria uma nova tarefa para o usuário autenticado
  • PUT /tasks - Atualiza uma tarefa do usuário autenticado
  • DELETE /tasks/{id} - Deleta uma tarefa específica por ID do usuário autenticado
  • POST /users/register - Registra um novo usuário
  • PUT /users/change-password - Altera a senha do usuário autenticado

Diagrama:

classDiagram
    class Task {
        +Integer id
        +Integer userId
        +String title
        +String description
        +Boolean completed
        +Date createdAt
        +Date updatedAt
    }

    class User {
        +Integer id
        +String username
        +String password
        +String role
    }

    class TaskRepository {
        +List~Task~ findByUserId(Integer userId)
    }

    class UserRepository {
        +User findByUsername(String username)
    }

    class TaskController {
        +List~Task~ getTasks()
        +Task getTask(Integer id)
        +void createTask(Task task)
        +void updateTask(Task task)
        +void deleteTask(Integer id)
    }

    class UserController {
        +void changePassword(ChangePasswordRequest changePasswordRequest)
    }

    class SecurityDatabaseService {
        +UserDetails loadUserByUsername(String username)
    }

    class WebSecurityConfig {
        +SecurityFilterChain filterChain(HttpSecurity http)
        +PasswordEncoder passwordEncoder()
    }

    Task --> User : "userId"
    TaskController --> TaskRepository
    UserController --> UserRepository
    SecurityDatabaseService --> UserRepository
    WebSecurityConfig --> SecurityDatabaseService
Loading

⚙️ Construção

Recursos utilizados na construção do projeto.

💻 Tecnologias

Java

🛠️ Ferramentas

IntelliJ IDEA GIT GITHUB

✏️ Aprendizado

  • Aprofundamento em conhecimentos de programação orientada a objetos em Java;
  • Ambiente de desenvolvimento Java configurado;
  • Familiarização com o uso de repositórios Git;
  • Desenvolvimento de API RESTful utilizando Spring Boot;
  • Configuração e utilização do PostgreSQL como banco de dados;
  • Implementação de tratamento de exceções para garantir a robustez da aplicação;
  • Integração de Spring Security para autenticação e autorização;
  • Uso do Spring Data JPA para simplificar o acesso a dados.

✒️ Autores

Miguel Angelo Gonzaga Marques - GitHub

📨 Contato

LinkedIn Gmail

About

API RESTful para gerenciamento de tarefas (TODO List) desenvolvida em Java. O projeto foi criado visando aprimorar conhecimentos em programação orientada a objetos e práticas de desenvolvimento de software.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages