Skip to content

Implementação/Estudo de um app web para gerenciamento de tarefas colaborativo

License

Notifications You must be signed in to change notification settings

guiIher-me/app-gerenciador-tarefas

Repository files navigation

app-gerenciador-tarefas

License

Implementação/Estudo de um app web para gerenciamento de tarefas colaborativa concebido para a disciplina de Sistemas Web, do curso de Bacharelado em Ciências da Computação, na Instituição Universidade Estadual Paulista "Júlio de Mesquita Filho" - UNESP

🎯 Objetivo

O objetivo deste projeto é apresentar um sistema de gerenciamento de tarefas, uma ferramenta popular para organização de projetos. Nosso sistema oferecerá uma plataforma intuitiva e eficiente para que usuários possam criar, atribuir e monitorar tarefas em diferentes estágios de conclusão.

💻 Pré-requisitos

Caso você tenha Docker instalado e configurado, não será preciso instalar manualmente os requisitos necessários. Para saber mais, leia a seção "Como executar via Docker".

📁 Estrutura Backend

..
├── api
│   ├── controller   # Controla as requisições HTTP
│   ├── dto          # Contém os objetos de transferência de dados (DTOs)
│   ├── exception    # Define tratamento de exceções específicas
│   ├── model        # Contém as classes de modelagem de banco de dados
│   ├── repository   # Contém as classes de acesso ao banco de dados
│   ├── security     # Contém as classes de segurança e token jwt da API
│   ├── service      # Contém as classes de serviço da API
│   └── util         # Contém as classes de utilidades

🚀 Como Executar

No diretório raiz do projeto, execute o terminal linux e siga o passo-a-passo abaixo:

  1. No arquivo application.properties, modifique a propriedade spring.datasource.url para: spring.datasource.url=jdbc:postgresql://localhost:5432/task_manager
  2. Execute o comando cd backend para ir para o diretório raiz do backend;
  3. Execute o comando mvnw spring-boot:run para inicializar o projeto;
  4. Enjoy!

🐋 Como Executar via Docker

No diretório raiz do projeto, execute o terminal e siga o passo-a-passo abaixo:

  1. No arquivo application.properties, modifique a propriedade spring.datasource.url para: spring.datasource.url=jdbc:postgresql://db:5432/task_manager
  2. Execute o comando cd backend para ir para o diretório raiz do backend;
  3. Inicie o Docker. Caso esteja usando WSL, habilite a integração no app Docker Desktop > Settings > Resources > "Enable integration with additional distros";
  4. Rode o comando docker-compose up --build para construir e inicializar o projeto;
  5. Enjoy!

Como executar comandos SQL no DB Postgres via Docker:

  1. Execute o comando cd backend para ir para o diretório raiz do backend;
  2. Rode o comando docker ps para ver os containers que estão atualmente em execução;
  3. Copie o CONTAINER ID da imagem postgres;
  4. Execute o comando docker exec -it containerid bash, substituindo 'containerid' pelo id copiado no passo 3. Este comando executará o bash da imagem postgres;
  5. Execute o comando psql task_manager para acessar o banco de dados 'task_manager' do projeto;
  6. Execute os comandos SQL que desejar, como por exemplo: SELECT * FROM users;;
  7. Para sair do termimal bash da imagem execute o comando exit 2 vezes seguidas.

📨 Requisições e Respostas HTTP via POSTMAN

  • Utilize a Collection Postman disponível no diretório raiz do projeto para obter mais informações sobre os endpoints disponíveis, além de exemplos de requests e responses;
  • Ao realizar o login diretamente pela collection, o bearer-token será salvo automaticamente como variável global da collection, permitindo executar os demais endpoints facilmente;

Você pode pré-visualizar a collection aqui gerada automaticamente via comando postman-to-markdown Task\ Manager\ \[UNESP\].postman_collection.json da lib postman-to-markdown.

📖 Diagrama de Classes UML

Diagrama de Classes UML gerado pela ferramenta Visual Paradigm Online:


📜 Licença

Esse projeto está sob licença MIT. Veja o arquivo LICENSE para mais detalhes.

About

Implementação/Estudo de um app web para gerenciamento de tarefas colaborativo

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published