ToDoList Application šŸ“šŸ›’

DescriĆ§Ć£o

Este Ć© um projeto de uma aplicaĆ§Ć£o de lista de tarefas (ToDoList) desenvolvida em Spring Boot. Ele permite aos usuĆ”rios adicionar, remover e marcar como concluĆ­das as tarefas em sua lista.

Eu originalmente desenvolvi para que quem mora comigo possa contribuir em uma mesma lista de compras, assim utilizei uma conexĆ£o com o banco de dados Supabase e hospedei a aplicaĆ§Ć£o no site Render usando uma imagem com a aplicaĆ§Ć£o que subi no DockerHub.šŸ˜

Agora a ideia Ć© desenvolver um aplicativo apra consumir essa API e todos poderem visualizar a mesma lista.šŸ¤©

Arquitetura

O projeto segue um padrĆ£o arquitetural em camadas, com as seguintes camadas:

  • Controller: ResponsĆ”vel por receber as requisiƧƵes HTTP e chamar os mĆ©todos apropriados do serviƧo.
  • Service: ContĆ©m a lĆ³gica de negĆ³cios da aplicaĆ§Ć£o, processando os dados recebidos dos controllers e interagindo com o repositĆ³rio.
  • Repository: Fornece uma interface para interagir com o banco de dados, executando as consultas SQL.

Endpoints

  • GET /getList: Retorna todas as tarefas da lista.
  • POST /addItem: Adiciona uma nova tarefa Ć  lista.
  • DELETE /delete: Remove uma tarefa da lista.
  • PUT /checkItem: Marca ou desmarca uma tarefa como concluĆ­da.

Tecnologias Utilizadas

  • Spring Boot: Framework para o desenvolvimento de aplicaƧƵes Java.
  • Lombok: Biblioteca para reduĆ§Ć£o de cĆ³digo boilerplate.
  • H2 Database: Banco de dados em memĆ³ria para desenvolvimento.
  • Docker: Utilizado para o empacotamento da aplicaĆ§Ć£o em contĆŖiner.
  • Render: Plataforma de hospedagem utilizada para o deployment da aplicaĆ§Ć£o.

InstalaĆ§Ć£o e Uso

  1. Clone este repositĆ³rio: git clone https://github.com/seu-usuario/todo-list.git
  2. Certifique-se de ter o Docker instalado em sua mƔquina.
  3. Navegue atĆ© o diretĆ³rio do projeto.
  4. Execute o seguinte comando para iniciar a aplicaĆ§Ć£o: docker-compose up
  5. Acesse a aplicaĆ§Ć£o em http://localhost:8080.

ContribuiĆ§Ć£o

Qualquer contribuiƧƵes Ć© bem-vinda!šŸ˜‰ Sinta-se Ć  vontade para abrir uma issue ou enviar um pull request.

Obrigada! šŸ˜„