Skip to content

Unlockway API Built with Java, Spring Boot (maven) and Hibernate JPA.

License

Notifications You must be signed in to change notification settings

vickttor/unlockway-api

 
 

Repository files navigation

🥘 Healthy Meal Manager API (TCC Project)

Unlockway Logo

Azure Java Spring Hibernate Docker Postgres JWT Swagger

Acess the PT-BR Version

This project was built in college as part of an integration project between various subjects (TCC). The Healthy Meal Manager API is a robust and scalable API designed to manage healthy meal routines and notifications for users. Built using Spring Boot with Maven, it follows the MVC and Hexagon Architecture principles. The API leverages Hibernate JPA for database interactions with a PostgreSQL database, running locally via Docker and Docker Compose. For production, the API is deployed using Azure App Services, and images are stored using Azure Blob Storage. Authentication is handled using JWT tokens, which expire in one hour. The API endpoints are documented with Swagger. The API is used for a mobile Flutter application. You can find the mobile app repository here.

Access the Layout prototype built on Figma clicking here

Class Diagram

Class Diagram

Sequence Diagrams

  • Create a Meal

Sequence Diagram to create a meal

  • Create a Routine

Sequence Diagram to create a routine

Use Cases

Use Cases diagram

Preview

Swagger Page Preview

Technologies

  • Java 17
  • Spring Boot
  • Maven
  • Hibernate JPA
  • PostgreSQL
  • Docker & Docker Compose
  • Azure App Services
  • Azure Blob Storage
  • JWT Authentication
  • Swagger
  • Flutter (Mobile Application)

How to set up your machine

  1. Clone the repository:

    git clone https://github.com/unlockway/unlockway_api_v2.git
    cd ./unlockway_api_v2
  2. Install Docker and Docker Compose:

  3. Set up PostgreSQL database:

    docker-compose up --build -d # or `docker compose up --build -d (whitout the -)`
  4. Configure application properties:

    • Update application.properties with your local setup.

How to execute

  1. Build the project:

    mvn clean install
  2. Run the application:

    mvn spring-boot:run
  3. Access Swagger documentation:

    • Navigate to http://localhost:8080/swagger-ui/index.html to view and test the API endpoints.

You can use an IDE to execute the code as well. Here are some popular options:

How to Contribute

  1. Fork the repository

  2. Create a new branch:

    git checkout -b feature/your-feature-name
  3. Make your changes and commit them:

    git commit -m "Add your message here"
  4. Push to the branch:

    git push origin feature/your-feature-name
  5. Create a Pull Request

Contributors

Victor H. Silva Bruno Pequeno Daniel Vieira Felipe Thaylan João Zavisas
Victor H. Silva Bruno Pequeno Daniel Vieira Felipe Thaylan João Zavisas

About

Unlockway API Built with Java, Spring Boot (maven) and Hibernate JPA.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%