Giter Club home page Giter Club logo

app-gerenciador-tarefas's Introduction

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.

app-gerenciador-tarefas's People

Contributors

guiiher-me avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.