Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 TaskAuthApi - trilha-TIVIT-Api

.NET ASP.NET Core Entity Framework JWT Swagger Docker Clean Architecture License

📌 Visão Geral

O TaskAuthApi é uma API RESTful desenvolvida com .NET 8, aplicando princípios de:

  • Arquitetura em camadas
  • Autenticação e autorização com JWT
  • Separação de responsabilidades (SRP)
  • Boas práticas de organização de código
  • Containerização com Docker
  • Documentação automática com Swagger

O projeto foi desenvolvido como parte da trilha TIVIT, com foco em consolidar fundamentos sólidos de backend moderno e seguro.

🏗️ Arquitetura

A aplicação segue uma estrutura organizada, inspirada em conceitos de Clean Architecture:

┣ 📂 ControllersEndpoints HTTP
┣ 📂 DTOs → Objetos de transporte de dados
┣ 📂 Interfaces → Contratos (Inversão de Dependência)
┣ 📂 Services → Regras de negócio
┣ 📂 Mappers → Conversão entre entidades e DTOs
┣ 📂 Middlewares → Tratamento global de exceções
┣ 📂 Security → Configuração de JWT e autorização
┣ 📂 Data / Infra → Contexto e acesso a dados
┗ 📂 Migrations → Versionamento do banco

🔎 Princípios aplicados

  • Inversão de Dependência
  • Injeção de Dependência
  • Responsabilidade Única
  • Encapsulamento de regras de negócio
  • Separação entre camada de API e domínio

🛠️ Stack Tecnológica

  • .NET 8
  • ASP.NET Core Web API
  • Entity Framework Core
  • SQL Server (configurável)
  • JWT Authentication
  • Swagger / OpenAPI
  • Docker
  • EF Core Migrations

🔐 Segurança

A API utiliza:

  • Autenticação baseada em JWT
  • Controle de acesso via [Authorize]
  • Middleware para tratamento global de exceções
  • Configuração segura via appsettings.json

🔑 Funcionalidades

  • Cadastro de usuários
  • Login com geração de Token JWT
  • CRUD completo de tarefas
  • Proteção de rotas autenticadas
  • Documentação interativa com Swagger
  • Containerização com Docker

🐳 Execução com Docker Compose

O projeto está configurado para subir via Docker Compose, permitindo orquestração da API junto com o banco de dados.

Subir os containers

  1. Clonar o repositório
git clone https://github.com/Daniela2319/TaskAuthAPI-.git
cd TaskAuthAPI
  1. No terminal:
docker-compose up --build
  1. Acessar a aplicação
http://localhost:8080/swagger

▶️ Execução Local (sem Docker)

  1. Clonar o repositório
git clone https://github.com/Daniela2319/TaskAuthAPI-.git
cd TaskAuthAPI
  1. Configurar conexão com banco
appsettings.json
  1. Executar migrations
dotnet ef database update
  1. Rodar aplicação
dotnet run

Swagger:

https://localhost:5001/swagger

📖 Exemplos de Requisições

🔐 Login

POST /api/auth/login
{
  "email": "usuario@exemplo.com",
  "password": "senha"
}

📝 Criar Tarefa (Autenticado)

POST /api/tasks
Authorization: Bearer {token}
{
  "title": "Estudar .NET 8",
  "description": "Praticar desenvolvimento de APIs"  
}

🎯 Objetivo Profissional

Este projeto demonstra:

  • Capacidade de estruturar APIs escaláveis

  • Aplicação de padrões arquiteturais

  • Conhecimento em segurança com JWT

  • Organização modular

  • Preparação para ambientes containerizados

👩🏻‍💻 Autora

Projeto desenvolvido por Daniela Velter Foco em soluções digitais modernas e estratégicas.

LinkedIn

About

Este é um API de Tarefas desenvolvido em .NET 8, com foco em organização, segurança e boas práticas de arquitetura. O projeto foi estruturado de forma modular, utilizando interfaces, mappers, middlewares e DTOs, garantindo separação de responsabilidades e facilidade de manutenção.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages