Um rastreador de validade de documentos para licitações, feito com .NET.
Este projeto visa ajudar empresas a controlar os prazos de validade de certidões e outros documentos necessários para participar de licitações públicas no Brasil, enviando alertas antes do vencimento.
- Autenticação de usuários (Cadastro/Login).
- CRUD (Criar, Ler, Atualizar, Deletar) de Documentos da Empresa, com registro manual da Data de Validade.
- Listagem de documentos com status (Válido, Próximo Vencimento, Vencido).
- Serviço de background diário para verificar validades.
- Envio de notificações por email para documentos próximos do vencimento.
- Backend: C# / .NET 8 (ou superior)
- API: ASP.NET Core Web API
- Banco (Dev): SQLite
- ORM: Entity Framework Core
- Auth: ASP.NET Core Identity
- Jobs:
IHostedService
- Email: Serviço externo (SendGrid/Mailgun/etc.)
- Domain: Entidades (
DocumentoEmpresa
,TipoDocumento
, etc.), Interfaces. - Application: Lógica de Casos de Uso (Serviços), DTOs.
- Infrastructure: EF Core (
DbContext
, Repositórios), Serviços Externos (Email). - Api: Controllers ASP.NET Core, Configuração (
Program.cs
).
Pré-requisitos:
- SDK do .NET 8 (ou superior)
- Git
Passos:
- Clonar:
(Substitua pela URL do seu repositório)
git clone [https://github.com/SEU_USUARIO/SentinelaDeDocumentos.git](https://github.com/SEU_USUARIO/SentinelaDeDocumentos.git) cd SentinelaDeDocumentos
- Restaurar Pacotes:
dotnet restore Sentinela.sln
- Aplicar Migrations (Criar/Atualizar BD):
(Cria/atualiza o arquivo .db no projeto Api)
# Estando na pasta raiz da solução: dotnet ef database update --project src/Sentinela.Infrastructure --startup-project src/Sentinela.Api
- Configurar Segredos (Ex: Chave API Email - Fase 2):
# Exemplo (na pasta src/Sentinela.Api): # dotnet user-secrets set "EmailSettings:ApiKey" "SUA_CHAVE"
- Executar a API:
dotnet run --project src/Sentinela.Api/Sentinela.Api.csproj
- Acesse a API (ex:
https://localhost:7XXX
) via Swagger ou Postman/Insomnia.
Distribuído sob a licença MIT. Veja o arquivo LICENSE
para mais detalhes.
Gabriel Souza Farias<>gabrielsfarias@outlook.com