Skip to content

mtresende/crud-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CRUD API

Este projeto consiste em uma API RESTful para o gerenciamento de produtos, desenvolvida como um projeto pessoal com o objetivo de consolidar conhecimentos em desenvolvimento backend, integração com bancos de dados relacionais e arquitetura de software utilizando o ecossistema Spring.


Descrição do Projeto

A aplicação foi projetada para realizar as operações fundamentais de manipulação de dados (CRUD). O sistema permite o controle de um inventário de produtos, gerenciando desde a persistência de informações técnicas até a exposição desses dados através de endpoints padronizados.

O desenvolvimento focou na compreensão do ciclo de vida de uma requisição HTTP, no mapeamento objeto-relacional (ORM) e na configuração de conectividade de rede com servidores de banco de dados em ambiente local.


Funcionalidades

  • Persistência de Dados: Cadastro de produtos com atributos como nome, código, preço, descrição, quantidade, avaliação e categoria.
  • Consulta Avançada: Listagem geral de produtos e busca segmentada por categoria ou identificador único (ID).
  • Gerenciamento de Registros: Atualização dinâmica de informações e exclusão de itens diretamente no banco de dados.
  • Documentação Interativa: Interface visual para testes de endpoints e visualização da estrutura da API em tempo real.

Tecnologias Utilizadas

Backend e Frameworks

  • Java 25: Utilização de recursos modernos da linguagem e da JVM.
  • Spring Boot 4.0.3: Framework central para agilidade no desenvolvimento e inversão de controle.
  • Spring Data JPA: Abstração da camada de dados para redução de código boilerplate.
  • Hibernate: Engine de ORM para mapeamento de entidades e geração automática de esquema SQL.
  • Jakarta Persistence (JPA): Padronização da persistência de dados em Java.

Banco de Dados

  • Microsoft SQL Server: SGBD relacional utilizado para o armazenamento seguro e estruturado das informações.

Ferramentas e Documentação

  • SpringDoc OpenAPI (Swagger): Gerador de documentação técnica e interface de testes.
  • Gradle: Gestor de dependências e automação de builds.
  • Azure Data Studio / SQL Server Configuration Manager: Ferramentas para administração, monitoramento de rede (TCP/IP) e análise de queries.

Arquitetura do Sistema

A solução foi estruturada em camadas para garantir a separação de responsabilidades:

  1. Entity: Representação fiel das tabelas do banco de dados no modelo orientado a objetos.
  2. Repository: Interface que estende o JpaRepository para operações de persistência e consultas customizadas.
  3. Controller: Camada de entrada que gerencia as rotas, interpreta as requisições e retorna as respostas adequadas ao cliente.

Este projeto representa um marco importante no estudo de tecnologias Java, servindo como base para futuras implementações de segurança, validação de dados e arquitetura de microsserviços.

Perspectivas futuras

Como parte do processo de evolução contínua deste projeto, está prevista a transição de um modelo de dados simplificado para um ecossistema relacional mais complexo.

Esta etapa contemplará a implementação de novas entidades e a normalização da base de dados, estabelecendo associações estratégicas (como relacionamentos de um-para-muitos e muitos-para-um). O objetivo é simular cenários de negócios reais, onde a segmentação da informação em entidades distintas garante a integridade referencial, reduz a redundância de dados e permite uma escalabilidade organizada da aplicação.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages