Backend da plataforma G DEV FLOW, uma aplicação de gestão de equipes e tarefas voltada para projetos de desenvolvimento de software, com foco em simplicidade, usabilidade e princípios de Interação Humano-Computador (IHC).
- Visão Geral
- Objetivos do Sistema
- Stack Tecnológica
- Arquitetura
- Estrutura do Projeto
- Segurança
- Como Executar o Projeto
- Metodologia de Desenvolvimento
- Status do Projeto
- Autores
O G DEV FLOW tem como objetivo apoiar equipes de desenvolvimento de software no planejamento, acompanhamento e validação de tarefas, promovendo organização, transparência e melhor experiência do usuário.
Esta API fornece serviços REST que são consumidos por um aplicativo mobile desenvolvido em React Native, sendo responsável por autenticação, gerenciamento de projetos, tarefas, usuários e indicadores de progresso.
- Gerenciar projetos de desenvolvimento de software
- Organizar tarefas com prioridades, prazos e responsáveis
- Controlar acesso por papéis (Gestor, Líder, Desenvolvedor, Tester)
- Acompanhar o progresso dos projetos
- Apoiar o fluxo de validação de tarefas
- Java 21
- Spring Boot
- Spring Web
- Spring Data JPA
- Spring Security (JWT)
- PostgreSQL
- Maven
A aplicação segue uma arquitetura em camadas, separando responsabilidades e facilitando manutenção e evolução do sistema.
Camadas principais:
- Controller: exposição dos endpoints REST
- Service: regras de negócio
- Repository: acesso aos dados
- DTO: transferência e validação de dados
- Config: configurações gerais e de segurança
A API segue o padrão RESTful e se comunica com o frontend via HTTP/JSON.
br.com.gdevflow.api
├── controller
├── service
├── repository
├── dto
├── model
├── config
└── security
-
Autenticação baseada em JWT
-
Controle de acesso por papéis de usuário
-
Validações realizadas no backend
-
Endpoints protegidos conforme perfil do usuário
Pré-requisitos:
-
Java 21
-
Maven
-
PostgreSQL
Passos:
-
Clonar o repositório
-
Criar um banco de dados no PostgreSQL
-
Configurar o arquivo application.properties
-
Executar o projeto pela IDE ou via Maven: mvn spring-boot:run
O projeto é desenvolvido utilizando Scrum, com:
-
Sprints de 2 semanas
-
Desenvolvimento incremental
-
Documentação contínua
-
Entregas funcionais a cada sprint
- Projeto em desenvolvimento
- Trabalho de Conclusão de Curso (TCC)