Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

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

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages