StickIt!

Aplicação de notas adesivas com frontend em Next.js e backend em Spring Boot, combinando uma interface moderna com uma API REST estruturada em camadas.

Principais pontos
  • Frontend em Next.js com App Router
  • Backend REST desenvolvido com Spring Boot
  • Arquitetura Controller → Service → Repository
  • DTOs para separar domínio e contratos da API
  • Validação com Jakarta Validation
  • Tratamento global de exceções
  • Persistência com Spring Data JPA e Hibernate
  • Interface responsiva de notas adesivas
Tecnologias utilizadas
Screenshot de capa de StickIt!

Visão geral

O StickIt é uma aplicação web de notas adesivas criada para estudar Java e Spring Boot através de uma aplicação fullstack funcional.

O frontend utiliza Next.js, React, TypeScript e Tailwind CSS, enquanto o backend fornece uma API REST construída com Spring Boot.

O resultado é uma aplicação simples, mas que permite explorar conceitos importantes de arquitetura backend e integração entre frontend e API.

Como funciona

O frontend envia requisições HTTP para a API Spring Boot.

A API recebe os dados através de DTOs, executa as validações necessárias e encaminha a operação para a camada de serviço.

O service executa as regras da aplicação e utiliza o repository para persistir ou consultar as notas.

As respostas são retornadas através de DTOs, evitando expor diretamente as entidades do domínio.

Arquitetura

O projeto é dividido entre frontend e backend.

O frontend utiliza Next.js com App Router e possui componentes reutilizáveis, serviços para comunicação com a API e tipos específicos para as entidades.

O backend utiliza uma arquitetura em camadas:

Controller → Service → Repository

Os controllers lidam com HTTP, os services concentram a lógica de negócio e os repositories são responsáveis pelo acesso aos dados através do Spring Data JPA.

Funcionalidades

  • Criação de notas
  • Escolha de cores
  • Edição através de modal
  • Exclusão de notas
  • Persistência através de API REST
  • Atualizações da interface sem reload
  • Layout responsivo
  • Organização visual por cores
  • Interface simples e intuitiva

Decisões técnicas

O backend foi estruturado com separação clara de responsabilidades.

DTOs são utilizados para controlar os contratos externos da API, evitando expor diretamente as entidades.

A validação utiliza Jakarta Validation e o tratamento de erros é centralizado através de @ControllerAdvice.

Essa estrutura mantém os controllers menores e facilita a evolução da API.

Screenshots

Interface da aplicação de notas adesivas.

StickIt! • 1 de 3
StickIt! - Captura de tela 1
StickIt! • 2 de 3
StickIt! - Captura de tela 2
StickIt! • 3 de 3
StickIt! - Captura de tela 3

Aprendizados

O StickIt foi desenvolvido para aprender Java e Spring Boot na prática.

Foi o projeto utilizado para explorar uma arquitetura REST em camadas, Spring Data JPA, Hibernate, DTOs, validação, tratamento global de exceções e integração de uma API Java com um frontend moderno.

Mesmo sendo uma aplicação relativamente simples, o projeto serviu como uma implementação prática de conceitos importantes do ecossistema Spring.