Loading repository data…
Loading repository data…
camillelimade / repository
Sistema simples de gerenciamento de tarefas (ToDo List) em Java, com CRUD de tasks associado a usuários e execução via console.
Este repositório contém a implementação de um sistema simples de gerenciamento de tarefas desenvolvido em Java. O objetivo do projeto é aplicar conceitos fundamentais de Programação Orientada a Objetos (POO) por meio da criação de um sistema de ToDo List executado via console.
O ToDoTask permite que usuários cadastrem e gerenciem suas próprias tarefas de forma prática e organizada.
Primeira implementação do ToDoTask, consistindo em um sistema CRUD executado via console. Essa versão contém as funcionalidades básicas necessárias para a manipulação das tarefas registradas por cada usuário.
Conceitos Aplicados:
Na segunda versão foram aplicados conceitos avançados de POO, como Herança, Polimorfismo, Interfaces e Classes Abstratas. Essa refatoração contribuiu para uma melhor organização e visualização da estrutura do sistema, incluindo a criação de novos pacotes que auxiliam na separação de responsabilidades dentro do projeto.
Conceitos Aplicados:
Uma representação simplificada da estrutura do projeto:
src
├─ app
│ └─ Main
│
├─ controller
│ └─ ToDoController
│
├─ model
│ ├─ Categoria
│ ├─ Entidade
│ ├─ Status
│ ├─ Task
│ └─ Usuario
│
└─ service
├─ CategoriaService
├─ Completable
├─ TaskService
└─ UsuarioService
Responsável pela execução principal do sistema. Esse pacote foi utilizado inicialmente devido à ausência de uma interface gráfica. Em versões futuras, a ideia é que ele evolua para um pacote view, responsável pela interação com o usuário.
A aplicação está organizada em pacotes que separam responsabilidades dentro do sistema, facilitando a manutenção e evolução do projeto.
Responsável por coordenar a execução das funcionalidades do sistema, intermediando as ações entre a interface e as regras de negócio.
Pacote responsável pela modelagem das entidades principais do sistema. Essas classes representam os objetos centrais da aplicação e servem como base para a aplicação dos conceitos de Programação Orientada a Objetos.
Pacote responsável por concentrar a lógica relacionada à manipulação das entidades do sistema. Enquanto o controller coordena as ações, os serviços implementam as operações específicas de cada entidade.
A estrutura atual do sistema foi pensada para facilitar futuras expansões, como:
A organização em pacotes já prepara o projeto para evoluir de um sistema simples executado via console para uma aplicação mais robusta.