Antes de começar, certifique-se de ter instalado:
- .NET 8 SDK 🟢
- Node.js (versão LTS recomendada) 🟢
- Angular CLI ⚡
- SQL Server
- Abra a pasta do backend no Visual Studio ou VS Code 🖱️
- Crie o arquivo
appsettings.jsonna raiz do projeto com este conteúdo:
{
"ConnectionStrings": {
"Connection": "Server=localhost;Database=YOUR_DATA-BASE;Trusted_Connection=True;"
},
"Settings": {
"Jwt": {
"SigningKey": "YOUR_SIGN_IN_KEY",
"ExpiresMinutes": 30,
"ExpiresMinutesRefresh": 1440
}
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}
⚠️ Ajuste aConnectionStrings.Connectionse seu SQL Server estiver em outra porta ou servidor.
- Para produção ou proxy, adicione
api.production.json:
{
"/api": {
"target": "https://localhost:7080/",
"secure": false,
"changeOrigin": true,
"pathRewrite": {
"^/api": ""
}
}
}- Abra o terminal na pasta do backend 🖥️
- Execute:
dotnet run- O backend estará disponível em
https://localhost:7080🔗
- Abra a pasta do frontend 🖱️
- Instale as dependências do Angular:
npm install- Configure o proxy criando
proxy.conf.jsoncom o mesmo conteúdo doapi.production.json:
{
"/api": {
"target": "https://localhost:7080/",
"secure": false,
"changeOrigin": true,
"pathRewrite": {
"^/api": ""
}
}
}- No terminal da pasta do frontend, execute:
ng serve - Acesse a aplicação em http://localhost:4200 🎉
- O backend utiliza JWT 🔐 para autenticação. Configure a
SigningKeye os tempos de expiração (ExpiresMinuteseExpiresMinutesRefresh). - O frontend utiliza proxy 🌐 para redirecionar
/apipara o backend local. - Certifique-se que o banco
DesafioPlenoFullStackPlenoexiste e que o SQL Server está rodando 🗄️. - Para ambientes diferentes (produção, desenvolvimento), crie arquivos
appsettings.{Ambiente}.jsone configure variáveis de ambiente no.NET.