Skip to content

Aplicação full-stack em C# (.NET 8) e React com TypeScript para cadastro de clientes com autenticação JWT e PostgreSQL.

Notifications You must be signed in to change notification settings

welderc/csharp-react-jwt-auth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

API Authentication – C# (.NET 8) & React TypeScript com JWT

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.

.NET C# React TypeScript PostgreSQL JWT Bootstrap


🔎 Visão Geral

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.


🛠️ Tech Stack

Camada Tecnologias
Backend .NET C# EF Core Bcrypt CORS JWT
Banco PostgreSQL
Frontend React TypeScript Bootstrap

📦 Pré-requisitos


⚙️ Configuração

Backend

  1. Clone o repositório e acesse a pasta do backend:

    cd back_end
  2. Configure a string de conexão em appsettings.Development.json:

    {
      "ConnectionStrings": {
        "Default": "Host=localhost;Port=5432;Database=SeuDB;Username=seu_usuario;Password=sua_senha"
      }
    }
  3. Restaure pacotes e aplique migrations:

    dotnet restore
    dotnet ef database update
  4. Execute a API:

    dotnet run --project ./API_Authentication.csproj
  5. A API estará disponível em: http://localhost:8000

Frontend

  1. Acesse a pasta do frontend:

    cd ../frontend
  2. Instale dependências (incluindo Bootstrap) e inicie o servidor de desenvolvimento:

    npm install
    npm start
  3. O React iniciará em: http://localhost:3000


🚀 Endpoints Principais

Swagger UI

http://localhost:8000/swagger/index.html

Endpoints

POST /api/register

Request Body:

{
  "name": "Claudio",
  "email": "Claudio.s@org.br",
  "password": "123"
}

Response:

{
  "id": 1,
  "name": "Claudio",
  "email": "Claudio.s@org.br"
}

POST /api/login

Request Body:

{
  "email": "Claudio.s@org.br",
  "password": "123"
}

Response:

{
  "message": "Success"
}

GET /api/user

Response:

{
  "id": 1,
  "name": "Claudio",
  "email": "Claudio.s@org.br"
}

POST /api/logout

Response:

{
  "message": "success"
}

📌 Pacotes NuGet Utilizados

  • 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

🎨 Visão Visual

Lista de Usuários

Dashboard

Tela de Registro


💻 Como Contribuir

  1. Fork este repositório

  2. Crie uma nova branch:

    git checkout -b feature/nova-funcionalidade
  3. Faça suas alterações e commit:

    git commit -m "Descrição do que mudou"
  4. Faça push da branch:

    git push origin feature/nova-funcionalidade
  5. Abra um Pull Request

About

Aplicação full-stack em C# (.NET 8) e React com TypeScript para cadastro de clientes com autenticação JWT e PostgreSQL.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published