Sistema de Gerenciamento de Farmácia desenvolvido em Java com arquitetura MVC. Controla estoque de medicamentos, registro de vendas, cadastro de clientes, fornecedores e funcionários. Projeto acadêmico — UFERSA, disciplina de Programação Orientada a Objetos.
- Java puro
- Arquitetura MVC
- Persistência em JSON
src/main/java/farmacia
├── model
├── repository
├── service
├── controller
├── view
├── util
└── Main.java
É recomendado usar JDK 17 ou superior.
Para verificar se o Java está instalado:
java -version
javac -versionAbra o terminal na raiz do projeto:
cd C:\Users\gabri\sistema-farmaciaPara compilar as camadas principais:
javac -d build src\main\java\farmacia\model\*.java src\main\java\farmacia\repository\*.java src\main\java\farmacia\service\*.java src\main\java\farmacia\util\*.javaPara compilar o projeto completo:
javac -d build src\main\java\farmacia\*.java src\main\java\farmacia\model\*.java src\main\java\farmacia\repository\*.java src\main\java\farmacia\service\*.java src\main\java\farmacia\util\*.java src\main\java\farmacia\controller\*.java src\main\java\farmacia\view\*.javaSe o comando não exibir erro, a compilação foi concluída com sucesso.
Após compilar o projeto completo, execute:
java -cp build farmacia.MainOs dados do sistema são armazenados na pasta:
dados
Exemplo de arquivo de usuários:
dados/usuarios.json
Exemplo de conteúdo:
[
{
"id": "1",
"nome": "Administrador",
"login": "admin",
"senha": "admin123",
"perfil": "ADMINISTRADOR"
},
{
"id": "2",
"nome": "Funcionario",
"login": "func",
"senha": "func123",
"perfil": "FUNCIONARIO"
}
]Logins de teste:
admin / admin123
func / func123
main: estrutura inicialdevelop: branch de integraçãofeature/karllos-model: camada Modelfeature/gabriel-repository: camadas Repository e Servicefeature/valderi-controller-view: camadas Controller e View
Antes de começar a desenvolver:
git checkout feature/gabriel-repository
git fetch origin
git pull origin feature/gabriel-repositoryPara trazer atualizações da develop:
git fetch origin
git merge origin/developDepois das alterações:
git status
git add src/main/java/farmacia/repository src/main/java/farmacia/service src/main/java/farmacia/util
git commit -m "feat(repository-service): implementa persistencia JSON e regras de negocio"
git push origin feature/gabriel-repositoryA pasta build contém arquivos compilados .class e não precisa ser enviada para o GitHub.
Os arquivos JSON em dados são usados para persistência local dos dados do sistema.