The Image Service is a Spring Boot application that provides image functionalities. It utilizes Google Cloud Bucket for image storage and integrates with Swagger for API documentation.
- Features
- Technologies Used
- Getting Started
- Configuration
- API Documentation
- Error Messages
- Contributing
- License
- Saving Image to Cloud Bucket
- Deleting Image from Cloud Bucket
- Deleting Image which are not mapped with Product
- API documentation using Swagger
- Error messages for common scenarios
- Java 17
- Spring Boot 3.0.5
- MongoDB
- Swagger (OpenAPI)
- Google Cloud Bucket and Vision API
- Jacoco
To get started with the Image Service, follow these steps:
- Clone the repository:
git clone https://github.com/PublicisSapient/retailsustainability-pem-image-service.git
- Clone the repository:
git clone https://github.com/PublicisSapient/retailsustainability-pem-common-framework.git
- Navigate to the common framework directory:
cd common-framework
- Build the common-framework:
mvn clean build
- Configure the environment variables to your environment (see Configuration)
- Build the project:
mvn clean build
- Navigate to the target directory:
cd target
- Run the application:
java -jar image-service.jar
The service will start running on the configured port (default: 9002). You can access the APIs using the base URL http://localhost:9002/api/v1/image-service
and Swagger UI: http://localhost:9002/api/v1/image-service/swagger-ui
The application can be configured using the following properties:
- mongodb-root-password: The Password for MongoDB database
- MONGODB_SERVICE_HOST: The host of MongoDB (e.g. localhost)
- MONGODB_SERVICE_PORT: The port of the MongoDB database (e.g. 27017)
- GOOGLE_APPLICATION_CREDENTIALS: The JSON key file path provided by the Google Service Account.
Modify the following settings in the application.yml file:
- project-id: The Project Id of the cloud project
- bucket-name: The name of the Cloud Bucket
- image-url: The url of the image (e.g. https://storage.googleapis.com/BUCKET_NAME/)
Ensure that you have MongoDB installed and running before starting the service.
The image Service provides API documentation using Swagger(Open API). You can access the Swagger UI by navigating to http://localhost:9002/api/v1/image-service/swagger-ui
in your web browser. This UI provides detailed information about the available API endpoints, request/response schemas
The application defines a set of error messages for common scenarios. These messages are configurable and can be found in the application.yml
file. You can customize the error messages according to your needs.
Contributions to the Image Service are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request.
- Fork the repository.
- Create your feature branch:
git checkout -b feature/my-new-feature
. - Commit your changes:
git commit -m 'Add some feature'
. - Push to the branch:
git push origin feature/my-new-feature
. - Submit a pull request.
The Image Service is open-source and available under the MIT License.
Feel free to modify and adapt the code to suit your needs.