https://github.com/patinaomi/devops-github-actions
Exercício realizado utilizando o Github Actions para CI/CD
https://github.com/patinaomi/devops-github-actions
actions cicd
Last synced: 2 months ago
JSON representation
Exercício realizado utilizando o Github Actions para CI/CD
- Host: GitHub
- URL: https://github.com/patinaomi/devops-github-actions
- Owner: patinaomi
- Created: 2025-03-18T01:31:42.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-10T23:04:34.000Z (about 1 year ago)
- Last Synced: 2025-06-01T18:38:12.880Z (about 1 year ago)
- Topics: actions, cicd
- Language: Java
- Homepage:
- Size: 509 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Challenge Odontoprev
## Índice
1. [Sobre o Projeto](#sobre-o-projeto)
2. [Arquitetura da Solução](#arquitetura-da-solução)
3. [Funcionalidades Principais](#funcionalidades=principais)
4. [Como Rodar o Projeto](#como-rodar-o-projeto)
5. [Pré-requisitos](#pré-requisitos)
6. [Modelo Relacional (DER)](#modelo-relacional-der)
7. [Diagrama de Classes](#diagrama-de-classes)
8. [Documentação da API](#documentação-da-api)
9. [Video](#video)
---
## Sobre o Projeto
Este projeto consiste em uma aplicação de gerenciamento para uma clínica odontológica. Ele permite que dentistas, pacientes e clínicas gerenciem consultas, feedbacks, sinistros, formulários detalhados e muito mais. A aplicação utiliza tecnologias como Java, Spring Boot, e um banco de dados relacional para facilitar o gerenciamento eficiente das operações diárias da clínica.
## Arquitetura da Solução

**Funcionalidades principais**
- Cadastro de pacientes, dentistas e clínicas.
- Marcação e controle de consultas.
- Gerenciamento de formulários detalhados de pacientes.
- Recepção de feedbacks e controle de sinistros.
## Como Rodar o Projeto
Para rodar a aplicação Java Spring Boot, siga as instruções abaixo:
#### Pré-requisitos
- **Java 17** ou superior instalado
- - **Maven** instalado
- - **Banco de Dados Oracle** configurado e em execução
- - **IDE** (como IntelliJ IDEA ou Eclipse) para editar e executar o projeto (opcional)
#### Passos para rodar a aplicação
1. **Clonar o repositório**
```sh
git clone https://github.com/patinaomi/sprint-3-devops
cd sprint-3-devops
```
2. **Configurar o banco de dados**
No arquivo `application.properties` ou `application.yml` (localizado em `src/main/resources`), configure os detalhes do banco de dados, como a URL, nome de usuário e senha:
```sh
spring.datasource.url=jdbc:oracle:thin:@oracle.fiap.com.br:1521/orcl
spring.datasource.username=seu-usuario
spring.datasource.password=sua-senha
spring.datasource.driver-class
name=oracle.jdbc.OracleDriver
```
3. **Instalar dependências**
Execute o comando Maven para baixar as dependências necessárias:
```sh
mvn clean install
```
4. **Executar a aplicação**
Com as dependências instaladas, rode a aplicação com:
```sh
mvn spring-boot:run
```
5. **Acessar a aplicação**
- A aplicação estará disponível em: `http://localhost:8080`
- A documentação Swagger estará disponível em: `http://localhost:8080/swagger-ui.html`
#### Observações
- Certifique-se de que o banco de dados está em execução antes de iniciar a aplicação.
- Para testes, você pode utilizar o **Postman** ou acessar diretamente o **Swagger UI** para testar os endpoints.
## Modelo Relacional (DER)

## Diagrama de Classes


## Documentação da API
Foi realizada a documentação da API utilizando **Swagger**, o que facilita a visualização e teste de todos os endpoints disponíveis no sistema. Para acessar a documentação completa, basta visitar o link [Swagger](http://localhost:8080/swagger-ui/index.html#/) quando o projeto estiver em execução.
#### Cliente
- **GET /clientes**: Lista todos os clientes.
- **POST /clientes/criar**: Cria um novo cliente.
- **GET /clientes/{id}**: Retorna os detalhes de um cliente específico pelo ID.
- **PUT /clientes/{id}**: Atualiza as informações de um cliente.
- **PATCH /clientes/{id}/**: Atualiza parcialmente um dado do cliente.
- **DELETE /clientes/{id}**: Remove um cliente.
#### Consulta
- **GET /consultas**: Lista todas as consultas.
- **POST /consultas/criar**: Cria uma nova consulta.
- **GET /consultas/{id}**: Retorna os detalhes de uma consulta específica pelo ID.
- **PUT /consultas/{id}**: Atualiza as informações de uma consulta.
- **PATCH /consultas/{id}**: Atualiza o dado parcial da consulta.
- **DELETE /consultas/{id}**: Remove uma consulta.
#### Dentista
- **GET /dentistas**: Lista todos os dentistas.
- **POST /dentistas/criar**: Cria um novo dentista.
- **GET /dentistas/{id}**: Retorna os detalhes de um dentista específico pelo ID.
- **PUT /dentistas/{id}**: Atualiza as informações de um dentista.
- **PATCH /dentistas/{id}**: Atualiza um dado parcial do dentista.
- **DELETE /dentistas/{id}**: Remove um dentista.
## Feedback
- **GET /feedbacks**: Lista todos os feedbacks.
- **POST /feedbacks/criar**: Cria um novo feedback.
- **GET /feedbacks/{id}**: Retorna os detalhes de um feedback específico pelo ID.
- **PUT /feedbacks/{id}**: Atualiza as informações de um feedback.
- **PATCH /feedbacks/{id}**: Atualiza um dado parcial do feedback.
- **DELETE /feedbacks/{id}**: Remove um feedback.
## Formulário Detalhado
- **GET /formularios**: Lista todos os formulários detalhados.
- **POST /formularios/criar**: Cria um novo formulário detalhado.
- **GET /formularios/{id}**: Retorna os detalhes de um formulário específico pelo ID.
- **PUT /formularios/{id}**: Atualiza as informações de um formulário detalhado.
- **PATCH /formularios/{id}**: Atualiza um dado no formulário.
- **DELETE /formularios/{id}**: Remove um formulário detalhado.
## Sinistro
- **GET /sinistros**: Lista todos os sinistros.
- **POST /sinistros/criar**: Cria um novo sinistro.
- **GET /sinistros/{id}**: Retorna os detalhes de um sinistro específico pelo ID.
- **PUT /sinistros/{id}**: Atualiza as informações de um sinistro.
- **PATCH /sinistros/{id}**: Atualiza um dado parcial de um sinistro.
- **DELETE /sinistros/{id}**: Remove um sinistro.
## Video
Também disponibilizamos um vídeo no YouTube demonstrando nossa solução e explicando as principais funcionalidades do projeto. Você pode assisti-lo através do seguinte link: [Link do Video no Youtube](https://youtu.be/XrRJLczRDN4)
## 🧑🤝🧑 Equipe
|
Claudio Bispo
RM553472
|Patricia Naomi

RM552981
|
|--|--|
[:arrow_up: voltar para o índice :arrow_up:](#índice)