Este repositório contém o sistema "Loja" (ERP) em Java/JavaFX. Eu reorganizei a documentação e adicionei scripts para facilitar a apresentação e a manutenção do projeto.
Sumário rápido
- Como compilar e rodar
- Como gerar relatórios (CSV/PDF/ZIP)
- Como adicionar clientes via CSV
- Estrutura proposta do projeto
- Script para reorganizar arquivos localmente
Requisitos
- Java 17+
- Maven 3.6+
- (Opcional) sqlite3 para manipular banco local
Como compilar e rodar a aplicação
- Compilar (gera
target/):
Set-Location 'C:\Users\IgrejaIPB\Downloads\Project\PROJETO-A3-UNA'
mvn -DskipTests=true clean package- Rodar a aplicação JavaFX:
mvn javafx:runGerar relatórios (CSV, PDF e ZIP)
- Já existem utilitários Java no pacote
com.example.ERP.tools:ExportCsvPrinter— exporta tabelas (clients, products, sales) paradata/exports/.ClientsPdfReport,ProductsPdfReport,SalesPdfReport— geram PDFs emdata/exports/.ReportsPackager— roda os geradores e empacotadata/exports/emdata/exports/reports.zip.
Para gerar os relatórios localmente (exemplo PowerShell):
# compilar e copiar dependências (apenas primeira vez)
mvn -DskipTests=true compile
mvn -DskipTests=true dependency:copy-dependencies -DoutputDirectory=target/dependency
# gerar relatórios (usa arquivos CSV em data/exports/)
java -cp "target/classes;target/dependency/*" com.example.ERP.tools.ReportsPackagerInserir clientes via CSV
- Arquivo exemplo:
data/new_clients.csv(colunas: name,cpf_cnpj,email,phone,address,active) - Utilitários:
AddClients— usaDbManagerpara inicializar o DB e inserir registros.AddClientsDirect— insere diretamente num arquivo SQLite se quiser especificar o caminho do DB.
Exemplo (inserir e depois gerar exports):
# usa user.home apontando para a pasta do projeto para forçar DB local em ./.minierp
java -Duser.home="%cd%" -cp "target/classes;target/dependency/*" com.example.ERP.tools.AddClients
java -Duser.home="%cd%" -cp "target/classes;target/dependency/*" com.example.ERP.tools.ReportsPackagerReorganizar pastas localmente
- Existe um script PowerShell em
scripts/reorganize_project.ps1que cria a árvore de pastas recomendada e move arquivos comuns para lá. Leia o script antes de executar e faça um commit/backup.
Estrutura proposta (resumo)
PROJETO-A3-UNA/
├─ src/
│ ├─ main/
│ │ ├─ java/
│ │ │ ├─ com/example/erp/ # código principal, controllers
│ │ │ └─ com/example/ERP/ # utilitários/tools
│ │ └─ resources/
│ │ ├─ fxml/ # views FXML
│ │ ├─ css/ # estilos
│ │ └─ db/ # schema.sql
├─ data/
│ ├─ exports/ # CSVs, PDFs, reports.zip
│ └─ seeds.sql
├─ scripts/ # scripts úteis (reorganizar, gerar)
├─ docs/ # documentação (STRUCTURE.md)
└─ README.md
Notas finais
- Revise
scripts/reorganize_project.ps1antes de executá-lo — ele apenas move arquivos conhecidos para a estrutura proposta.