← Voltar aos Projetos

Plataforma de Gerenciamento de Recursos

(Backend)

Imagem do projeto Plataforma de Gerenciamento de Recursos

Tecnologias e Habilidades Aplicadas

TypeScriptNode.jsNest.jsPrisma ORMPostgreSQLDockerDocker ComposeRESTful API Design

Descrição do Projeto

Neste projeto, construí o backend completo para um sistema de agendamento de recursos, desenvolvendo uma API RESTful robusta e escalável com Nest.js. Meu principal objetivo foi criar uma arquitetura modular e segura, onde implementei um sistema de autenticação de ponta a ponta utilizando JSON Web Tokens (JWT) e Passport.js. Para garantir a integridade e a segurança das rotas, desenvolvi guards de autorização personalizados, como o OwnerGuard, que assegura que apenas os proprietários de uma reserva possam modificá-la, demonstrando meu cuidado com o controle de acesso e a proteção dos dados do usuário.

A gestão de dados foi um pilar central, onde utilizei o Prisma como ORM para modelar o banco de dados PostgreSQL e realizar consultas de forma type-safe e eficiente. Desenvolvi toda a lógica de negócio para os módulos de autenticação, usuários, recursos e reservas, aplicando validações rigorosas nos DTOs (Data Transfer Objects) com class-validator para garantir a consistência dos dados que entram na aplicação. Um dos desafios técnicos que solucionei é a implementação de uma lógica para evitar conflitos de agendamento, garantindo que um recurso não possa ser reservado por múltiplos usuários no mesmo intervalo de tempo.

Para otimizar o ambiente de desenvolvimento e garantir a portabilidade da aplicação, utilizei Docker e Docker Compose para containerizar toda a aplicação e o banco de dados. Essa abordagem não apenas simplifica a configuração do ambiente, mas também assegura a consistência entre as fases de desenvolvimento, teste e produção. A conclusão deste projeto consolidou minhas competências em desenvolvimento backend com Node.js e Nest.js, design de APIs RESTful, modelagem de dados relacionais e práticas de DevOps, resultando em uma aplicação segura, performática e pronta para integração.