Este repositório contém um projeto fullstack de e-commerce, desenvolvido com Spring Boot para o backend e Next.js para o frontend. O objetivo é fornecer uma plataforma robusta e escalável para vendas online.
O projeto é dividido em duas partes principais:
- Backend: Uma API RESTful desenvolvida em Java com Spring Boot, responsável pela lógica de negócios, persistência de dados e autenticação.
- Frontend: Uma aplicação web construída com Next.js e TypeScript, que consome a API do backend para exibir produtos, gerenciar carrinhos de compra e processar pedidos.
- Linguagem: Java
- Framework: Spring Boot
- Banco de Dados: PostgreSQL
- Ferramenta de Build: Maven
- Autenticação: Spring Security
- Framework: Next.js
- Linguagem: TypeScript
- Estilização: Tailwind CSS
- Gerenciamento de Estado: Context API
A estrutura do diretório backend segue as convenções de um projeto Spring Boot:
backend/
├── src/
│ ├── main/
│ │ ├── java/com/comercio/projeto_dscommerce/
│ │ │ ├── config/ # Configurações da aplicação
│ │ │ ├── controllers/ # Endpoints da API REST
│ │ │ ├── dto/ # Objetos de Transferência de Dados
│ │ │ ├── entities/ # Entidades de Banco de Dados
│ │ │ ├── projections/ # Projeções de dados para consultas específicas
│ │ │ ├── repositories/ # Interfaces de acesso a dados (Spring Data JPA)
│ │ │ ├── services/ # Lógica de negócios
│ │ │ └── ProjetoDscommerceApplication.java # Classe principal da aplicação
│ │ └── resources/ # Arquivos de configuração e recursos estáticos
│ └── test/ # Testes unitários e de integração
├── pom.xml # Configurações do projeto Maven
└── ... # Outros arquivos de configuração e build
A estrutura do diretório frontend segue as convenções de um projeto Next.js:
frontend/
├── public/ # Arquivos estáticos
├── src/
│ ├── app/ # Rotas e páginas da aplicação
│ ├── components/ # Componentes reutilizáveis da UI
│ ├── contexts/ # Contextos React para gerenciamento de estado global
│ ├── hooks/ # Hooks personalizados
│ ├── lib/ # Funções utilitárias e bibliotecas
│ ├── services/ # Funções para interagir com a API do backend
│ ├── middleware.ts # Middleware do Next.js
│ └── tailwind.config.js # Configuração do Tailwind CSS
├── package.json # Dependências e scripts do projeto Node.js
├── next.config.ts # Configurações do Next.js
└── ... # Outros arquivos de configuração e build
- Pré-requisitos: Certifique-se de ter o Java Development Kit (JDK) 17+ e o Maven instalados.
- Banco de Dados: Configure um banco de dados PostgreSQL e atualize as credenciais no arquivo
application.properties(ouapplication.yml) dentro debackend/src/main/resources. - Compilar e Rodar: Navegue até o diretório
backende execute:A API estará disponível emmvn clean install mvn spring-boot:run
http://localhost:8080(porta padrão do Spring Boot).
- Pré-requisitos: Certifique-se de ter o Node.js (versão 18.x ou superior) e o npm (ou yarn/pnpm) instalados.
- Instalar Dependências: Navegue até o diretório
frontende execute:npm install # ou yarn install # ou pnpm install
- Rodar a Aplicação: Execute:
A aplicação frontend estará disponível em
npm run dev # ou yarn dev # ou pnpm dev
http://localhost:3000.