Skip to content

juletopi/PontuaFlowAPI

Repository files navigation

PontuaFlow API

API para suporte à aplicação de gestão de projetos, desenvolvedores e tarefas com gamificação por pontos.


Sobre   •   Estrutura   •   Instalação  

Sobre o projeto

O PontuaFlow API é uma aplicação backend construída em .NET 8 que suporta a gestão de projetos, tarefas, desenvolvedores e equipes. A aplicação integra um sistema de gamificação, incentivando o progresso através de pontuações bem definidas.

Funcionalidades

  • Módulo de Projetos e Semanas: Controle hierárquico onde Weeks (semanas) possuem numeração única garantida por projeto.
  • Módulo de Desenvolvedores (Devs) e Equipes (DevTeams): Cadastro unificado e associação direta com os projetos.
  • Ciclo e Avaliação de Tarefas (Tasks): Atribuição de tarefas ao dev e vinculação à semana específica do projeto.
  • Regras de Pontuação (Gamificação): Validação fixa de pontos baseada no resultado da tarefa:
    • 🔴 0 : Zerou / Não deu
    • 🟠 2 : Saiu algo
    • 🟡 3 : Quase
    • 🟢 5 : Deu bom (Meta regular)
    • 🔵 8 : Extra (Superação)
  • Métricas e Ranking:
    • Total de Pontos: Soma simples de todos os pontos ganhos em tarefas fechadas por um dev num projeto.
    • Aproveitamento (%): Cálculo fundamentado em ((Pontos Obtidos) / (Quantidade de Tasks Cadastradas * 5)) * 100.
    • Ranking: Lista de Devs de um determinado projeto ordenada do maior para o menor multiplicador/pontuação.

Tecnologias utilizadas

CSharp-badge DotNet-badge EFCore-badge PostgreSQL-badge

Estrutura do projeto

PontuaFlowAPI/
├── Controllers/               # Endpoints REST expostos
├── Data/                      # Entity Framework e AppDbContext
├── Migrations/                # Controle de versionamento do BD gerados pelo EF Core
├── Models/                    # Entidades (Project, Dev, Task, Week, DevTeam)
├── appsettings.json
├── Program.cs                 # Registro de dependências, setup da API e documentação Swagger
├── PontuaFlow.csproj
└── README.md

Instalação

Iniciando o projeto

Important

Certifique-se de ter os seguintes requisitos antes de iniciar:

DotNet-badge PostgreSQL-badge
  1. Clone o repositório
git clone https://github.com/juletopi/PontuaFlowAPI.git
cd PontuaFlowAPI
  1. Restaure as dependências do projeto
dotnet restore
  1. Configure a string de conexão

Edite o arquivo appsettings.json na raiz da API ou os User Secrets, ajustando com os seus dados locais do PostgreSQL:

"ConnectionStrings": {
  "DefaultConnection": "Host=localhost;Database=PontuaFlowDB;Username=postgres;Password=suasenha"
}
  1. Aplique as Migrations
dotnet ef database update
  1. Inicie o projeto
dotnet run

Note

O Swagger irá gerar automaticamente a documentação UI dos endpoints da API. Ele estará acessível através da rota http://localhost:<PORTA_LOCAL>/swagger/index.html.

About

API para suporte à aplicação de gestão de projetos, desenvolvedores e tarefas com gamificação por pontos. Feito em CSharp.

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages