🚀 TechStore é um sistema completo para gerenciamento de produtos em uma loja virtual. Desenvolvido como parte de um trabalho acadêmico, o projeto utiliza Spring Boot, React e Firebase para criar uma aplicação web funcional, segura e escalável.
O sistema permite que administradores da loja virtual realizem operações CRUD (Create, Read, Update, Delete) nos produtos disponíveis para venda. Com isso, é possível cadastrar novos produtos, editar informações, visualizar listagens e excluir produtos do catálogo.
Além disso, a aplicação utiliza Firebase para armazenamento de dados e autenticação, garantindo maior segurança e facilidade na gestão de usuários e produtos.
- Para garantir que a API funcione corretamente com o Firebase, foi configurada a variável de ambiente FIREBASE_CREDENTIALS no Render. Agora, a aplicação pode ler as credenciais tanto da variável de ambiente (em produção) quanto do arquivo local (serviceAccountKey.json) durante o desenvolvimento.
- ✅ Desenvolver uma API REST em Spring Boot para gerenciar os produtos da loja.
- ✅ Criar um front-end moderno e responsivo em React.
- ✅ Utilizar Firebase Firestore para armazenamento dos produtos.
- ✅ Implementar Firebase Authentication para gerenciar usuários.
Antes de rodar o projeto, certifique-se de ter os seguintes pré-requisitos instalados:
- Java JDK 17 - Necessário para compilar e executar a aplicação Spring Boot.
Verifique a instalação com:
java -version
- Maven - Para gerenciar dependências e compilar o projeto.
Verifique a instalação com:
mvn -version
- Docker (Opcional, caso queira rodar via container)
Verifique a instalação com:
docker --version
Node.js e NPM - Necessário para rodar o React.
Verifique a instalação com:
node -v
npm -v
-
Criar um Projeto no Firebase
-
Acesse Firebase Console
-
Crie um novo projeto.
-
Vá para Configurações do Projeto > Contas de Serviço e gere uma chave JSON.
-
Salve este arquivo como backend/src/main/resources/serviceAccountKey.json para rodar localmente.
Clone o repositório:
git clone https://github.com/jxhnlcs/fullstack_eccomerce.git
- Coloque o arquivo serviceAccountKey.json que você irá gerar no seu projeto do firebase no diretorio backend/src/main/resources/ (para desenvolvimento):
Execute o backend:
cd backend
mvn clean install
mvn spring-boot:run
Caso queira rodar o backend com Docker:
docker build -t techstore-api .
docker run -p 8080:8080 techstore-api
Execute o frontend:
cd frontend
npm install
npm run dev
- Agora, a aplicação estará rodando em http://localhost:4200 e a API em http://localhost:8080!
- Java + Spring Boot (Framework para API REST)
- Spring Data JPA (Gerenciamento de banco de dados)
- Firebase Firestore (Banco de dados NoSQL)
- Firebase Authentication (Autenticação de usuários)
- React (Framework para Frontend)
- Tailwind CSS (Estilização moderna e responsiva)
Atualmente, o projeto está sendo implantado utilizando:
-
Render para hospedar o backend com Docker.
-
Firebase para autenticação e banco de dados.
-
Vercel será utilizado para hospedar o frontend em breve.
A API foi configurada no Render utilizando o Dockerfile mencionado acima, garantindo um ambiente estável e escalável. O frontend será implantado na Vercel, tornando o sistema completamente acessível online: https://eccomerce-blush.vercel.app