📚 Pré-requisitos Teóricos: este projeto aplica conceitos ensinados em Matriz de 20 Capítulos de Aplicações Full Stack (este módulo). Recomendado revisar antes de começar.
Bem-vindo ao guia definitivo para desenvolver uma aplicação web moderna utilizando Spring Boot no backend e React no frontend. Este projeto foi desenhado para ser didático, robusto e seguir as melhores práticas de engenharia de software.`
—`
—`
mvnw incluído).O backend possui dois perfis configurados: dev e production.
backend:
cd backend
dev é o padrão. Ele usa um banco de dados em memória que é recriado a cada reinicialização.
./mvnw spring-boot:run
http://localhost:8080http://localhost:8080/h2-consolehttp://localhost:8080/swagger-ui.htmlapplication.properties para production ou passe via linha de comando:
./mvnw spring-boot:run -Dspring-boot.run.profiles=production
Certifique-se de ter um banco de dados chamado listadetarefas_db criado no seu PostgreSQL local.`
frontend:
cd frontend
npm install
npm run dev
http://localhost:5173—`
/backend)A estrutura segue o padrão MVC (Model-View-Controller) adaptado para API REST:
controller: Recebe as requisições HTTP (TarefaController).service: Contém a regra de negócio (TarefaService).repository: Interface de acesso ao banco de dados (TarefaRepository).model: Entidades JPA que representam as tabelas (Tarefa).dto: Objetos de transferência de dados (TarefaRequestDTO, TarefaResponseDTO).config: Configurações de segurança, CORS e banco de dados./frontend)A estrutura segue o padrão de componentes do React:
src/components: Componentes reutilizáveis (Header, Footer).src/pages: Páginas da aplicação (HomePage, TaskFormPage).src/services: Comunicação com a API (api.js, TaskService.js).src/assets: Imagens e estilos globais.—`
Se você quiser recriar este projeto do zero, siga estes passos:
Tarefa.TarefaRepository.TarefaService com as regras de negócio.TarefaController para expor os endpoints.application.properties.npm create vite@latest frontend -- --template react.axios e react-router-dom.api.js para apontar para localhost:8080.SecurityConfig.java) para permitir requisições do frontend (localhost:5173).—`
Sinta-se à vontade para fazer um fork deste projeto e enviar Pull Requests com melhorias!
—`
No seu editor/IDE, abra a pasta deste projeto (File > Open Folder) ou navegue via terminal:
cd fullstack_tarefas_08_spring_react
./mvnw spring-boot:run
# No frontend: npm install && npm run dev
[!TIP] Dica para execução a partir da raiz do repositório: Se você abriu o repositório completo no VS Code, basta navegar até a pasta antes de executar: cd proj_aplicacoes_full_stack/projetos/fullstack_tarefas_08_spring_react