Skip to content

Commit efe3d6b

Browse files
Entrega 1.0 (#38)
Entrega 1.0
1 parent 2c1ac7e commit efe3d6b

File tree

101 files changed

+10893
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

101 files changed

+10893
-1
lines changed

.github/workflows/build_mvn.yml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: Build, Test, and Validate with PostgreSQL
2+
3+
on:
4+
push:
5+
branches:
6+
- main # Aciona a ação ao enviar mudanças para a branch "develop"
7+
8+
jobs:
9+
build:
10+
runs-on: ubuntu-latest
11+
12+
services:
13+
postgres:
14+
image: postgres:15 # Versão do PostgreSQL
15+
ports:
16+
- 5432:5432 # Porta padrão do PostgreSQL
17+
env:
18+
POSTGRES_USER: engstrategy # Usuário do banco
19+
POSTGRES_PASSWORD: engstrategy1234 # Senha do banco
20+
POSTGRES_DB: db_mundo_animal # Banco de dados usado nos testes
21+
22+
steps:
23+
- name: Checkout code
24+
uses: actions/checkout@v3
25+
26+
- name: Set up JDK
27+
uses: actions/setup-java@v3
28+
with:
29+
java-version: '21' # Versão do Java usada no projeto
30+
distribution: temurin
31+
32+
- name: Setup Maven
33+
run: mvn -version # Verifica a versão do Maven
34+
35+
- name: Configure persistence.xml for tests
36+
run: |
37+
sed -i 's|<property name="jakarta.persistence.jdbc.url" value=".*"/>|<property name="jakarta.persistence.jdbc.url" value="jdbc:postgresql://localhost:5432/db_mundo_animal"/>|' src/main/resources/META-INF/persistence.xml
38+
sed -i 's|<property name="jakarta.persistence.jdbc.user" value=".*"/>|<property name="jakarta.persistence.jdbc.user" value="engstrategy"/>|' src/main/resources/META-INF/persistence.xml
39+
sed -i 's|<property name="jakarta.persistence.jdbc.password" value=".*"/>|<property name="jakarta.persistence.jdbc.password" value="engstrategy1234@"/>|' src/main/resources/META-INF/persistence.xml
40+
41+
- name: Wait for PostgreSQL
42+
run: |
43+
for i in {1..15}; do
44+
if pg_isready -h localhost -p 5432 -U engstrategy; then
45+
echo "PostgreSQL is ready!"
46+
exit 0
47+
fi
48+
echo "Waiting for PostgreSQL..."
49+
sleep 2
50+
done
51+
echo "PostgreSQL failed to start"
52+
exit 1
53+
54+
- name: Show PostgreSQL Logs
55+
run: docker logs $(docker ps -q --filter "name=postgres")
56+
57+
- name: Run Tests
58+
run: mvn test
59+
60+
- name: Build with Maven
61+
run: mvn clean package # Compila o projeto

.gitignore

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
target/
2+
!.mvn/wrapper/maven-wrapper.jar
3+
!**/src/main/**/target/
4+
!**/src/test/**/target/
5+
6+
### IntelliJ IDEA ###
7+
.idea/modules.xml
8+
.idea/jarRepositories.xml
9+
.idea/compiler.xml
10+
.idea/libraries/
11+
*.iws
12+
*.iml
13+
*.ipr
14+
15+
### VS Code ###
16+
.vscode/

.idea/.gitignore

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/encodings.xml

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/misc.xml

Lines changed: 26 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/uiDesigner.xml

Lines changed: 124 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/vcs.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.mvn/wrapper/maven-wrapper.jar

57.4 KB
Binary file not shown.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.5/apache-maven-3.8.5-bin.zip
2+
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar

README.md

Lines changed: 55 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,55 @@
1-
# MundoAnimal
1+
# 🐾 Mundo Animal - Sistema de Gestão para Petshop
2+
3+
Mundo Animal é um sistema desktop desenvolvido em **JavaFX** com **PostgreSQL** e **Hibernate (JPA)**, projetado para a gestão eficiente de um petshop. O sistema permite o gerenciamento de clientes, animais, agendamentos, serviços e secretários.
4+
5+
## 🚀 Tecnologias Utilizadas
6+
- **Java 23**
7+
- **JavaFX** (para interface gráfica)
8+
- **PostgreSQL** (banco de dados relacional)
9+
- **Hibernate/JPA** (persistência de dados)
10+
- **Maven** (gerenciador de dependências)
11+
- **BCrypt** (para criptografar senhas)
12+
13+
## 📌Funcionalidades Principais
14+
- **Autenticação:** Login seguro para administradores e secretários.
15+
- **Gerenciamento de Agendamentos:** Exibição dinâmica dos próximos atendimentos na tela inicial.
16+
- **Cadastro de Clientes e Animais:** Relacionamento entre clientes e seus respectivos pets.
17+
- **Controle de Serviços:** Registros de atendimento e relatório de operações.
18+
- **Interface intuitiva:** Com animações suaves e pop-ups de confirmação.
19+
20+
## 🛠️ Instalação e Execução
21+
### Pré-requisitos
22+
- Java 21+ instalado
23+
- PostgreSQL instalado
24+
- Maven instalado
25+
26+
## 📂 Estrutura do Projeto
27+
```
28+
MundoAnimal/
29+
│── src/
30+
│ ├── main/
31+
│ │ ├── java/com/carvalhotechsolutions/mundoanimal/
32+
│ │ │ ├── controllers/
33+
│ │ │ ├── models/
34+
│ │ │ ├── repository/
35+
│ │ │ ├── services/
36+
│ │ ├── resources/
37+
│ │ │ ├── fxml/
38+
│ │ │ ├── images/
39+
│ │ │ ├── styles/
40+
│── pom.xml
41+
│── README.md
42+
```
43+
44+
## 🤝 Contribuição
45+
Se deseja contribuir, siga os passos:
46+
1. Fork este repositório
47+
2. Crie uma branch (`git checkout -b feature/nova-funcionalidade`)
48+
3. Commit suas alterações (`git commit -m 'Adiciona nova funcionalidade'`)
49+
4. Envie um push para a branch (`git push origin feature/nova-funcionalidade`)
50+
5. Abra um Pull Request
51+
52+
## 📜 Licença
53+
Este projeto está sob a licença MIT. Veja o arquivo [LICENSE](LICENSE) para mais detalhes.
54+
55+
---

0 commit comments

Comments
 (0)