Um sistema de gerenciamento de banco de horas e usuários para empresas, desenvolvido com Java e Spring Boot.
- Java: Linguagem principal do projeto.
- Spring Boot: Framework para criação de aplicações web.
- Maven: Gerenciador de dependências.
- Jakarta Persistence (JPA): Para mapeamento objeto-relacional.
- Spring Security: Para autenticação e autorização.
- Jackson: Para serialização e desserialização de JSON.
- PostgreSQL: Banco de dados relacional utilizado.
- Docker Compose: Para orquestração de contêineres.
- BancoDeHoras: Representa o banco de horas de um usuário, com saldo positivo ou negativo.
- Empresa: Representa uma empresa, contendo uma lista de usuários associados.
- Usuario: Representa um usuário do sistema, com informações de autenticação e associação a uma empresa.
- BancoDeHoras possui um relacionamento
@OneToOnecom Usuario. - Empresa possui um relacionamento
@OneToManycom Usuario. - Usuario possui um relacionamento
@ManyToOnecom Empresa.
O projeto utiliza o Spring Security para gerenciar autenticação e autorização. A classe Usuario implementa a interface UserDetails para integração com o Spring Security.
- Certifique-se de ter o Docker e o Docker Compose instalados.
- Clone o repositório:
git clone https://github.com/jucaodamontanha/ponto-certo.git
- Navegue até o diretório do projeto:
cd ponto-certo - Suba os contêineres com o Docker Compose:
docker-compose up -d
- Acesse o banco de dados PostgreSQL através do contêiner:
docker exec -it ponto-certo-postgres psql -U postgres - Acesse a aplicação em seu navegador:
http://localhost:8080 - Para parar os contêineres, execute
docker-compose downO projeto utiliza o PostgreSQL como banco de dados. O arquivo docker-compose.yml já está configurado para criar um contêiner com o PostgreSQL. Certifique-se de que as credenciais no arquivo application.properties correspondem às do docker-compose.yml.
- Faça um fork do repositório.
- Crie uma branch para sua feature:
git checkout -b minha-feature
- Faça commit das suas alterações:
git commit -m "Adicionando minha feature" - Faça push para a branch:
git push origin minha-feature
- Abra um Pull Request.
Este projeto está licenciado sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.