Skip to content

laviniacarol/stock-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sistema de Controle de Estoque

Sistema web completo para controle de inventário de mercadorias, com dois perfis de acesso e autenticação JWT.

Tecnologias

Backend

  • Java 17 + Spring Boot 3.2
  • Spring Security com JWT (stateless)
  • JPA / Hibernate + H2 (banco em memória)
  • Maven 3.9

Frontend

  • React 18 + React Router v6
  • Chakra UI v2
  • Axios

Funcionalidades

Perfil: ADMINISTRADOR

  • Cadastrar produtos (nome, categoria, unidade, preço)
  • Registrar entradas de estoque via lotes (quantidade, preço de compra, fornecedor, validade)
  • Registrar retiradas de estoque com controle de saldo
  • Visualizar tabela de produtos com status de estoque (Normal / Estoque Baixo / Esgotado)

Perfil: GERENTE

  • Visualizar relatório mensal de movimentações (entradas e saídas)
  • Visualizar relatório mensal de lotes de compra com valores e preço unitário
  • Filtrar por mês e ano
  • Resumo com totais de entradas, saídas, lotes recebidos e valor gasto em compras

Como executar

Pré-requisitos

  • Java 17+
  • Maven 3.6+
  • Node.js 18+

Backend

cd backend
mvn spring-boot:run

API disponível em: http://localhost:8081
Console H2 disponível em: http://localhost:8081/h2-console

Frontend

cd frontend
npm install
npm start

Aplicação disponível em: http://localhost:3000

Credenciais de acesso (padrão)

Usuário Senha Perfil
admin admin123 ADMINISTRADOR
gerente gerente123 GERENTE

Estrutura do projeto

java-task/
├── backend/
│   └── src/main/java/com/estoque/
│       ├── controller/   # AuthController, ProdutoController, LoteController, etc.
│       ├── model/        # Usuario, Produto, Lote, Movimentacao
│       ├── repository/   # Interfaces JPA
│       ├── security/     # JWT, filtros, configuração Spring Security
│       └── dto/          # LoginRequest, LoginResponse
└── frontend/
    └── src/
        ├── pages/        # Login, AdminDashboard, GerenteDashboard
        ├── components/   # Navbar
        ├── api.js        # Axios com interceptor JWT
        └── auth.js       # Helpers de localStorage

Endpoints principais

Método Rota Acesso
POST /api/auth/login Público
GET /api/produtos Autenticado
POST /api/produtos ADMINISTRADOR
POST /api/lotes ADMINISTRADOR
POST /api/movimentacoes/retirada ADMINISTRADOR
GET /api/relatorios/movimentacoes?ano=&mes= GERENTE
GET /api/relatorios/lotes?ano=&mes= GERENTE

About

Gerenciador de estoque com Java e JS para trabalho de portfólio da UNOPAR.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages