An open API service indexing awesome lists of open source software.

https://github.com/heitorpolidoro/nexdom

Sistema de Gestão de Controle de Tarefas
https://github.com/heitorpolidoro/nexdom

fastapi python sqlmodel task-management

Last synced: about 19 hours ago
JSON representation

Sistema de Gestão de Controle de Tarefas

Awesome Lists containing this project

README

          

# NEXDOM — Sistema de Gestão de Condomínios e Associações

CI Status
GitHub Sponsors

Latest Version
GitHub Release Date
GitHub commits since latest release
GitHub last commit

GitHub issues
GitHub pull requests

DeepSource
DeepSource Coverage

SonarCloud Quality Gate
SonarCloud Coverage
SonarCloud Security Rating


SonarCloud Bugs
SonarCloud Vulnerabilities
SonarCloud Code Smells
SonarCloud Maintainability

O **Nexdom** é uma plataforma web para gestão de condomínios e associações. O módulo atual cobre a gestão de tarefas da administração: criação, atribuição, acompanhamento de status, comentários e auditoria completa de alterações, com controle de acesso por papéis.

- **Frontend (produção):** https://nexdom-front.vercel.app
- **Backend (produção):** https://nexdom-back.vercel.app

## Funcionalidades

- **Gestão de tarefas** com categorias, prioridades, status e atribuição a usuários
- **Controle de acesso (RBAC)** com três papéis: Administrador, Diretor e Gerente
- **Auditoria** — todo histórico de alterações de uma tarefa é registrado e exibido na linha do tempo
- **Comentários** por tarefa
- **Internacionalização** (pt-BR e en) via i18next

## Tecnologias

### Backend

- **Linguagem:** Python 3.13
- **Framework:** FastAPI
- **ORM:** SQLModel (SQLAlchemy) com migrações via Alembic
- **Banco de Dados:** PostgreSQL 16
- **Autenticação:** JWT (PyJWT) + bcrypt, rate limiting com slowapi
- **Gerenciador de Pacotes:** uv

### Frontend

- **Framework:** React 19 (TypeScript)
- **Build Tool:** Vite
- **Estilização:** Tailwind CSS + Radix UI
- **Estado de servidor:** TanStack Query

## Execução local

### Docker Compose (tudo junto)

```bash
docker compose up --build
# backend → http://localhost:8001
# frontend → http://localhost:3001
# postgres → localhost:5436
```

### Manual

```bash
# Backend
cd backend
uv sync --all-groups
uv run uvicorn app.main:app --reload --port 8001

# Frontend
cd frontend
npm install
npm run dev # http://localhost:3000
```

As configurações de ambiente (banco de dados, chaves secretas, etc.) ficam em `backend/.env` e `frontend/.env.local` — veja o `CLAUDE.md` para os valores de desenvolvimento.

## Testes

```bash
# Backend (cobertura mínima: 90%)
cd backend && uv run pytest --cov=app tests/

# Frontend (cobertura mínima: 75%)
cd frontend && npm run test:coverage
```

## Deploy

O deploy é feito na **Vercel** (projetos `nexdom-front` e `nexdom-back`). Todo merge na branch `master` dispara automaticamente o deploy de produção dos dois projetos via integração Git. As migrações de banco rodam no GitHub Actions (`migrate.yml`) a cada push na `master`.

## Contribuição e Fluxo de Trabalho

Branches de feature (`feat/`), commits descritivos e Pull Requests para a branch principal (`master`). O CI (GitHub Actions) roda testes de backend e frontend com gates de cobertura, além de análise no SonarCloud e DeepSource — um PR só pode ser mergeado com todos os checks verdes.

## Segurança

Autenticação via JWT (HS256) e controle de acesso baseado em papéis (RBAC) — Administrador, Diretor e Gerente, com permissões distintas para tarefas e categorias. Credenciais sensíveis são gerenciadas via variáveis de ambiente.