https://github.com/unlockway/unlockway-api
Unlockway API Built with Java, Spring Boot (maven) and Hibernate JPA.
https://github.com/unlockway/unlockway-api
azure-app-service azure-blob-storage docker java jwt maven postgresql spring-boot swagger
Last synced: 3 months ago
JSON representation
Unlockway API Built with Java, Spring Boot (maven) and Hibernate JPA.
- Host: GitHub
- URL: https://github.com/unlockway/unlockway-api
- Owner: unlockway
- License: mit
- Created: 2025-01-29T15:28:00.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-22T01:41:28.000Z (over 1 year ago)
- Last Synced: 2025-03-22T02:28:48.182Z (over 1 year ago)
- Topics: azure-app-service, azure-blob-storage, docker, java, jwt, maven, postgresql, spring-boot, swagger
- Language: Java
- Homepage:
- Size: 1.43 MB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README-PTBR.md
- License: LICENSE
Awesome Lists containing this project
README
# 🥘 API de Gerenciameto de Refeições Saudáveis (Projeto de TCC)

       
Este projeto foi construído na faculdade como parte de um projeto de integração entre várias disciplinas (TCC). A API de Gerenciamento de Refeições Saudáveis é uma API robusta e escalável projetada para gerenciar rotinas de refeições saudáveis e notificações para os usuários. Construída usando Spring Boot com Maven, segue os princípios da Arquitetura MVC e Hexagonal. A API utiliza Hibernate JPA para interações com o banco de dados PostgreSQL, rodando localmente via Docker e Docker Compose. Para produção, a API é implantada usando Azure App Services, e as imagens são armazenadas usando Azure Blob Storage. A autenticação é feita usando tokens JWT, que expiram em uma hora. Os endpoints da API são documentados com Swagger. A API é usada para um aplicativo móvel Flutter. Você pode encontrar o repositório do aplicativo móvel [aqui](https://github.com/unlockway/unlockway_mobile).
> Acesse o protótipo de layout construído no Figma clicando [aqui](https://www.figma.com/design/eVCIm7PVUYjDSV6PrifbAG/Fatec---Projeto-Integrador%3A-Unlockway?node-id=0-1&t=JH2hcRXH9DhEu4BF-1)
## Diagrama de Classe

## Diagrama de Sequência
- Criação de uma Refeição

- Criação de uma Rotina

## Casos de Uso

## Preview

## Tecnologias
- **Java 17**
- **Spring Boot**
- **Maven**
- **Hibernate JPA**
- **PostgreSQL**
- **Docker & Docker Compose**
- **Azure App Services**
- **Azure Blob Storage**
- **JWT Authentication**
- **Swagger**
- **Flutter (Mobile Application)**
## Como configurar sua máquina
1. **Clone o repositório:**
```sh
git clone https://github.com/unlockway/unlockway_api_v2.git
cd ./unlockway_api_v2
```
2. **Instale o Docker e o Docker Compose:**
- [Docker Installation Guide](https://docs.docker.com/get-docker/)
- [Docker Compose Installation Guide](https://docs.docker.com/compose/install/)
3. **Configure o banco de dados Postgre:**
```sh
docker-compose up --build -d # or `docker compose up --build -d (whitout the -)`
```
4. **Configure as propriedades da aplicação:**
- Atualize o arquivo `application.properties` com as variáveis de produção necessárias caso queira rodar em produção.
## Como Executar a API
1. **Instale as dependências:**
```sh
mvn clean install
```
2. **Rode a aplicação:**
```sh
mvn spring-boot:run
```
3. **Acesse a documentação do Swagger:**
- Navegue para `http://localhost:8080/swagger-ui/index.html` para visualizar e testar os endpoints.
Você também pode usar um editor de código (IDE) de sua preferência para executar a API. Aqui vai algumas opções populares:
- [Visual Studio Code](https://code.visualstudio.com/)
- [IntelliJ IDEA](https://www.jetbrains.com/idea/)
## Como contribuir
1. **Fork o repositório**
2. **Crie uma nova branch:**
```sh
git checkout -b feature/your-feature-name
```
3. **Faça suas alterações e então crie um commit:**
```sh
git commit -m "Add your message here"
```
4. **Empurre suas alterações pra uma branch remota:**
```sh
git push origin feature/your-feature-name
```
5. **E por fim crie um Pull Request**
### Contribuidores
|  |  |  |  |  |
| :-------------------------------------------------: | :----------------------------------------------------: | :-------------------------------------------------------: | :-------------------------------------------------: | :---------------------------------------------: |
| [Victor H. Silva](https://github.com/vickttor) | [Bruno Pequeno](https://github.com/bruno-pequenor) | [Daniel Vieira](https://github.com/DanielVieira2828) | [Felipe Thaylan](https://github.com/ThaylanFe) | [João Zavisas](https://github.com/Zavisas) |