This project implements a simple Spring Boot application that provides RESTful APIs for managing categories and locations, leveraging the data from the KudaGo API. It includes logging for method execution time and initialization processes.
-
CRUD operations for two entities:
-
Categories
- GET all categories:
/api/v1/places/categories
- GET a category by ID:
/api/v1/places/categories/{id}
- POST a new category:
/api/v1/places/categories
- PUT to update a category by ID:
/api/v1/places/categories/{id}
- DELETE a category by ID:
/api/v1/places/categories/{id}
- GET all categories:
-
Locations
- GET all locations:
/api/v1/locations
- GET a location by slug:
/api/v1/locations/{slug}
- POST a new location:
/api/v1/locations
- PUT to update a location by slug:
/api/v1/locations/{slug}
- DELETE a location by slug:
/api/v1/locations/{slug}
- GET all locations:
-
-
Logging of method execution times using a custom annotation.
-
Automatic initialization of data sources by querying the KudaGo API on application startup.
- Java 21
- Gradle
To run the application, follow these steps:
- Clone the repository:
git clone https://github.com/your-username/your-repo-name.git cd your-repo-name
- Build the application:
./gradlew build
- Run the application:
./gradlew bootRun