CoreSuit.Template.Modular
2.0.2
dotnet new install CoreSuit.Template.Modular::2.0.2
This package contains a .NET Template Package you can call from the shell/command line.
CoreSuit Modular Backend
Template base com Clean Architecture + DDD Modular para .NET 10.
Quick Start
# 1. Instalar templates
dotnet new install CoreSuit.Template.Modular
# 2. Criar projeto
dotnet new core-suit-modular -n MeuSistema
# 3. Copiar e preencher o .env
cp Host/HostWeb.API/.env.example Host/HostWeb.API/.env
# 4. Rodar
dotnet run --project Host/HostWeb.API
Swagger: https://localhost:{porta}/swagger
Configuracao (.env)
Auth Provider
Escolha um dos dois providers no .env:
| Provider | Quando usar |
|---|---|
cenix |
Integrado ao ecossistema Cenix (Aiacos/Zeus) |
identity |
Auth proprio com ASP.NET Core Identity |
AUTH_PROVIDER="cenix" # ou "identity"
Cenix (AUTH_PROVIDER=cenix)
JWT_KEY='sua_chave_jwt'
JWT_ISSUER="Issuer-Aiacos-Cenix"
JWT_AUDIENCE="Audience-Aiacos-Cenix"
MODULE_ID=18
AIACOS_API="https://api.dev.cenix.com.br/aiacos"
ZEUS_API="https://api.dev.cenix.com.br/zeus"
Identity (AUTH_PROVIDER=identity)
JWT_KEY='sua_chave_jwt'
JWT_ISSUER="MeuApp"
JWT_AUDIENCE="MeuApp"
IDENTITY_SCHEMA="MD000_AUTH"
IDENTITY_TOKEN_EXPIRY_MINUTES=60
IDENTITY_REFRESH_TOKEN_EXPIRY_DAYS=7
# Rotas (true/false)
IDENTITY_ENABLE_REGISTER=true
IDENTITY_ENABLE_REFRESH_TOKEN=true
IDENTITY_ENABLE_PASSWORD_RECOVERY=true
IDENTITY_ENABLE_CONFIRM_EMAIL=false
IDENTITY_ENABLE_2FA=false
IDENTITY_ENABLE_ROLES=false
Se
IDENTITY_ENABLE_CONFIRM_EMAIL=true, configure tambem o SMTP:
SMTP_HOST="smtp.seuservidor.com"
SMTP_PORT=465
SMTP_USER="email@dominio.com"
SMTP_PASSWORD="senha"
SMTP_USE_SSL=true
SMTP_FROM_EMAIL="email@dominio.com"
SMTP_FROM_NAME="MeuApp"
APP_BASE_URL="http://localhost:5000"
Usuarios padrao (Identity)
| Senha | Role | |
|---|---|---|
admin@admin.com |
admin |
Admin (acesso total) |
user@user.com |
user |
User (acesso basico) |
Endpoints Identity
| Metodo | Rota | Descricao | Auth |
|---|---|---|---|
| POST | /auth/login |
Login | Nao |
| POST | /auth/register |
Registro | Nao |
| POST | /auth/refresh-token |
Renovar token | Nao |
| POST | /auth/forgot-password |
Solicitar reset de senha | Nao |
| POST | /auth/reset-password |
Resetar senha com token | Nao |
| POST | /auth/change-password |
Alterar senha | Sim |
| POST | /auth/confirm-email |
Confirmar email | Nao |
| POST | /auth/assign-role |
Atribuir role | Admin |
Rotas aparecem no Swagger apenas se habilitadas no
.env.
Modulos
Criar modulo
cd Tools
.\module.ps1
# Escolher "Adicionar modulo" e informar o nome
Remover modulo
cd Tools
.\module.ps1
# Escolher "Remover modulo"
Gerar migration
cd Tools
.\migrate.ps1
# Escolher modulos e informar nome da migration
Estrutura
Host/HostWeb.API/ -> Startup, Middlewares, Swagger
Shared/ -> Base reutilizavel (Controller, Service, Repository)
Modules/{Modulo}/
{Modulo}.API/ -> Controllers
{Modulo}.Application/ -> DTOs, Services, Mappings
{Modulo}.Domain/ -> Entities, Filters, Interfaces
{Modulo}.Infrastructure/ -> Repositories, DbContext, Migrations
{Modulo}.CrossCutting/ -> DI
Tools/ -> Scripts (module.ps1, migrate.ps1)
Comandos
# Build
dotnet build BackendModular.sln
# Rodar
dotnet run --project Host/HostWeb.API
# Modulos e migrations
cd Tools && pwsh ./module.ps1
cd Tools && pwsh ./migrate.ps1
-
net10.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.