Sistema de agendamento de consultas médicas, desenvolvido com arquitetura DDD, Razor Pages como front-end, e APIs protegidas com autenticação JWT. O ambiente é totalmente containerizado via Docker Compose.
Agendamento/
├── docker-compose.yml
├── Agendamento.sln
├── Agendamento.Services.Api/ # Projeto principal com API + Razor Pages
├── Agendamento.Application/ # Camada de aplicação (use cases)
├── Agendamento.Domain/ # Entidades e contratos (DDD)
├── Agendamento.Infrastructure/ # Repositórios, conexões, Dapper
- .NET 8 SDK
- Docker
- Docker Compose
- Sistema operacional: Windows, Linux ou macOS
- Clone o repositório:
git clone https://github.com/seu-usuario/agendamento.git
cd agendamento- Suba os containers com Docker Compose:
docker-compose up --build- Acesse a aplicação:
- Front-end (Razor Pages): http://localhost:777
- Login: http://localhost:777/Login
- Swagger (API): http://localhost:777/api/v1/agendamento/documentation/index.html
A aplicação usa JWT (JSON Web Tokens) para proteger as rotas da API.
- O token é salvo em cookie (HTTP Only).
- Logout remove o cookie do token.
- SQL Server 2022 em container Docker.
- Script de inicialização é executado automaticamente (
/init-db/init.sql). - As credenciais padrão são:
User: sa
Password: Your_password123
Database: AgendamentoDb
Login_da_Aplicacao: admin@agendamento.com
Senha: senha123- ✅ Login com autenticação JWT.
- ✅ Cadastro de Paciente.
- ✅ Cadastro de Consulta com verificação de conflitos (horário, médico, paciente).
- ✅ Filtro de consultas com paginação.
- ✅ Middleware customizado para extração de token via cookie.
Acesse a documentação Swagger:
http://localhost:777/api/v1/agendamento/documentation/index.html
- .NET 8
- Razor Pages
- Dapper
- SQL Server
- Docker + Docker Compose
- JWT Bearer Authentication
# Build manual
dotnet build
# Rodar a API (fora do docker)
cd Agendamento.Services.Api
dotnet runEste projeto é de uso pessoal/educacional.