Skip to content

claudiodeveloper-github/osmanager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OS Manager Banner


OS Manager

Sistema de gerenciamento de ordens de serviço desenvolvido com Java e Spring Boot 3, criado como projeto prático durante minha formação como desenvolvedor backend.


Sobre o Projeto

Este projeto nasceu da vontade de construir algo além dos tutoriais — uma aplicação real, com autenticação, banco de dados, controle de acesso e interface web funcional.

O sistema permite abrir, acompanhar e encerrar ordens de serviço, gerenciar clientes e equipamentos, e exportar relatórios em PDF.


Tecnologias Utilizadas

Tecnologia Finalidade
Java 17 Linguagem principal
🍃 Spring Boot 3.2.5 Framework base
🗄️ Spring Data JPA Persistência e ORM
🔒 Spring Security Autenticação e autorização
🐬 MySQL 8 Banco de dados relacional
🎨 Thymeleaf Interface web (templates HTML)
🦎 Lombok Redução de código repetitivo
📄 OpenPDF Geração de relatórios em PDF
🖌️ Bootstrap 5 Estilização da interface

Estrutura do Projeto

src/main/java/com/osmanager/
├── config/         → Configurações gerais (redirecionamentos)
├── controller/     → Controladores MVC e endpoints REST
├── dto/            → Objetos de transferência de dados
├── entity/         → Entidades JPA (tabelas do banco)
├── repository/     → Acesso ao banco de dados
├── security/       → Configuração de login e autorização
├── service/        → Regras de negócio
└── util/           → Utilitários gerais

Funcionalidades

  • Login com autenticação via Spring Security e senha criptografada (BCrypt)
  • Controle de acesso por perfil: ADMIN e TECNICO
  • Cadastro, edição e exclusão de Clientes
  • Cadastro e listagem de Equipamentos
  • Abertura, acompanhamento e encerramento de Ordens de Serviço
  • Numeração automática de OS (OS-AAAAMMDD-XXXX)
  • Dashboard com indicadores em tempo real
  • Exportação de OS em PDF
  • Interface responsiva com Bootstrap 5

Como Rodar o Projeto

Pré-requisitos


1. Clonar o repositório

git clone git clone https://github.com/claudiodeveloper-github/osmanager.git
cd osmanager

2. Criar o banco de dados

No MySQL (Workbench, DBeaver ou terminal):

CREATE DATABASE osmanager;

O Hibernate cria as tabelas automaticamente na primeira execução.


3. Configurar o application.properties

Edite o arquivo em src/main/resources/application.properties:

spring.datasource.url=jdbc:mysql://localhost:3306/osmanager
spring.datasource.username=seu_usuario
spring.datasource.password=sua_senha

spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect

server.port=8080

4. Criar o primeiro usuário ADMIN

Como não há tela de cadastro público, insira o primeiro usuário diretamente no banco:

INSERT INTO usuario (nome, email, senha, role)
VALUES (
    'Administrador',
    'admin@osmanager.com',
    '$2a$10$7QfBPHHd0N6GdqQlCHXEK.0TrOn/R8xFNsNpQrZqMBGtW4kCnKi0a',
    'ADMIN'
);

Senha em texto: admin123


5. Executar

# Linux / Mac
./mvnw spring-boot:run

# Windows
mvnw.cmd spring-boot:run

Acesse: http://localhost:8080


Perfis de Acesso

Perfil O que pode fazer
ADMIN Acesso total, incluindo gestão de usuários
TECNICO Acesso às OS, clientes e equipamentos

Ciclo de Status de uma OS

ABERTA → EM_ANALISE → AGUARDANDO_PECA → EM_MANUTENCAO → FINALIZADA → ENTREGUE

Ao marcar como FINALIZADA, a data de saída é registrada automaticamente.


Observações

Este projeto foi desenvolvido para fins de aprendizado e portfólio. Ainda há pontos que pretendo evoluir:

  • Testes unitários com JUnit e Mockito
  • Paginação na listagem de OS
  • Filtro de OS por status e data
  • Deploy em nuvem (Railway ou Render)
  • Documentação da API com Swagger

Autor

Cláudio G. S. Castro Java Backend Developer em formação

GitHub


Licença

Este projeto está sob a licença MIT. Consulte o arquivo LICENSE para mais detalhes.


About

Sistema de gerenciamento de ordens de serviço com Spring Boot 3, Spring Security, MySQL e Thymeleaf.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages