/trip-planner-backend

Trip Planner Backend

Primary LanguageJavaGNU General Public License v3.0GPL-3.0

Trip Planner Backend

A Trip Planner backend application implemented in Java 21 with Spring Boot 3.14.

This backend application provides trip route planning according to the given input parameters like destination point, trip time, number of people in the trip, trip budget, etc.

It uses Open API and gpt-3.5-turbo model to provide trip planning.

The backend application serves from Trip Planner Backend End-Point.

Table of Contents

  1. How to Contribute
  2. Requirements
  3. Coding Standards
  4. Version Control Standards
  5. Running the Application Locally
  6. Running the Application in Docker
  7. Run Actuator
  8. Run Swagger UI
  9. Extra Notes
  10. Copyright

How to Contribute

For the contributor covenant to this project, please check the Code of Conduct file.

Contributor Covenant

Credits

Please check the Contributors List to see who makes this open-source alive.

Requirements

For building and running the application belows are required;

Coding Standards

Below coding standards should be followed within the project;

  • Javadoc should be written for each class & method. @author, @since annotations should be added while adding or updating the javadoc
  • General code structure should be followed while adding or refactoring classes.

Version Control Standards

Below version control standards should be followed within the project;

Running the Application Locally

Application can be run with TripPlannerBackendApplication class.

Alternatively you can use the Spring Boot Gradle plugin like so:

gradle clean build
gradle bootRun

Running the Application in Docker

Application can be run in Docker. Dockerfile in the project root folder is the configuration file for Docker build.

docker build -t trip-planner-backend:1.0.0 --build-arg APP_JAR=trip-planner-backend-1.0.0.jar .
docker run -p 8081:8081 --name TripPlannerBackend trip-planner-backend:1.0.0

Note that you can specify the name of the APP_JAR argument based on the jar file that is generated by gradle. If the argument is not provided, it will pick the default name specified in the Dockerfile.

Run Actuator

Spring Boot Actuator can be reached from local url for Actuator.

Only health and caches endpoints are enabled by default. Configuration can be updated within the "actuator" section of the related application.properties file.

Run Swagger UI

Swagger UI can be reached from local url for Swagger UI and production url for Swagger UI.

Extra Notes

  • The module can be booted with Spring Cloud Config Server or directly within the application. In order to boot the project within itself, enable the properties in application.properties file and disable bootstrap.properties file.

Copyright

GNU General Public License v3.0 Permissions of this strong copyleft license are conditioned on making available complete source code of licensed works and modifications, which include larger works using a licensed work, under the same license. Copyright and license notices must be preserved. Contributors provide an express grant of patent rights. Please check the LICENSE file for more details.