Projeto de uma API RESTful desenvolvida em C# com ASP.NET Core para autenticação e gerenciamento de usuários. O sistema utiliza JWT para autenticação segura e PostgreSQL para armazenar os dados.
✅ Registro e login de usuários com criptografia de senha (BCrypt)
✅ Gerenciamento de grupos de usuários
✅ Integração com PostgreSQL usando Entity Framework Core
✅ Docker para facilitar a execução da aplicação
🔹 Autenticação
Método Endpoint Descrição
POST /api/auth/login Recebe Username e Password no body. Retorna 200 (success) com nome do usuário e nível de acesso, 404 se o usuário não for encontrado ou 400 se a senha estiver incorreta.
POST /api/auth/jwt Recebe Username e Password no body. Retorna token ASC e token refresh em caso de sucesso.
🔑 View 1 - Administração de Usuários (Apenas para Admin)
📌 CRUD completo de usuários, exceto a exclusão de usuários que já foram utilizados em processos.
📦 View 2 - Cadastro de Materiais (Apenas para Admin)
📌 CRUD completo de materiais, com as seguintes regras:
Regra: Não permitir deletar ou editar materiais que possuem registros em outras tabelas.
Serial gerado automaticamente no formato:
ID = 1 | Nome = produtoteste | Serial = PRO001
O campo IS_WASHED será alterado para TRUE.
O status do material mudará para LAVAGEM FINALIZADA.
##Pré-requisitos Antes de rodar o projeto, instale:
🔹 Docker
🔹 Docker Compose
Siga os passos abaixo para configurar e utilizar o sistema.
- Clone o repositório:
https://github.com/AdrianoEusebio/Project_cme.git
- Execute o comando abaixo para iniciar os containers Docker:
docker-compose up --build
- Depois de inicializar os conteiners, Adicione a URL abaixo para rodar o programa:
http://localhost:8080/
- Logue com a credencial abaixo:
- Administrador
- Usuário:
superadmin
- Senha:
admin123
Para visuzalizar o swagger, adicione a URL:
http://localhost:8000/swagger/index.html
📌 Tela simples para autenticação do usuário. ✔ Apenas username e senha são utilizados.
📌 Tela principal do sistema, contendo as opções disponíveis conforme o nível de acesso.
📌 Tela que exibe e gerencia os processos do sistema.
📌 Exibe a tabela de materiais e suas respectivas funcionalidades. ✔ Apenas o Admin tem acesso.
📌 Exibe a tabela de usuários e suas respectivas funcionalidades. ✔ Apenas o Admin tem acesso.
Para mais informações, entre em contato pelo email: [email protected]