Aplicação full-stack em C# (.NET 8) e React com TypeScript para cadastro de clientes com autenticação JWT e PostgreSQL, estilizada com Bootstrap.
Este projeto demonstra como criar uma API em C# (.NET 8) com Entity Framework Core, autenticação via JWT e integração com um front-end em React + TypeScript, estilizado com Bootstrap. A aplicação permite registrar usuários, autenticar logins, obter dados protegidos e desconectar, tudo com persistência em PostgreSQL.
| Camada | Tecnologias |
|---|---|
| Backend | |
| Banco | |
| Frontend |
- .NET 8 SDK
- Node.js ≥ 18 & npm
- Bootstrap 5.3.5
- Banco de dados PostgreSQL
- Navegador ou cliente HTTP (Postman / Insomnia)
-
Clone o repositório e acesse a pasta do backend:
cd back_end -
Configure a string de conexão em appsettings.Development.json:
{ "ConnectionStrings": { "Default": "Host=localhost;Port=5432;Database=SeuDB;Username=seu_usuario;Password=sua_senha" } } -
Restaure pacotes e aplique migrations:
dotnet restore dotnet ef database update
-
Execute a API:
dotnet run --project ./API_Authentication.csproj
-
A API estará disponível em:
http://localhost:8000
-
Acesse a pasta do frontend:
cd ../frontend -
Instale dependências (incluindo Bootstrap) e inicie o servidor de desenvolvimento:
npm install npm start
-
O React iniciará em:
http://localhost:3000
http://localhost:8000/swagger/index.html
Request Body:
{
"name": "Claudio",
"email": "Claudio.s@org.br",
"password": "123"
}Response:
{
"id": 1,
"name": "Claudio",
"email": "Claudio.s@org.br"
}Request Body:
{
"email": "Claudio.s@org.br",
"password": "123"
}Response:
{
"message": "Success"
}Response:
{
"id": 1,
"name": "Claudio",
"email": "Claudio.s@org.br"
}Response:
{
"message": "success"
}- Bcrypt – Hash de senhas
- Microsoft.AspNetCore.Cors – Configuração de CORS
- Microsoft.EntityFrameworkCore – ORM
- Microsoft.EntityFrameworkCore.Tools – Ferramentas EF Core
- Npgsql.EntityFrameworkCore.PostgreSQL – Provider PostgreSQL
- IdentityModel.Tokens.Jwt – Geração e validação de JWT
-
Fork este repositório
-
Crie uma nova branch:
git checkout -b feature/nova-funcionalidade
-
Faça suas alterações e commit:
git commit -m "Descrição do que mudou" -
Faça push da branch:
git push origin feature/nova-funcionalidade
-
Abra um Pull Request


