This is a simple Spring Boot application with Kotlin designed to handle RESTful endpoints for parsing and adding a spreadsheet to PostgreSQL. The spreadsheet is parsed using Apache POI library.
- target-demo-api:
- This is deployed using a simple docker compose in my home data center on a Virtual machine with proxmox.
- This can be deployed using terraform and kubernetes on a choice of cloud as well..
- RESTful Endpoints:
post products
: Accepts a spreadsheet with list of product information.get products
: Allows to retrieve recently pushed products from postgreSQL database.get sample-file
: Allows to retrieve an example spreadsheet file with dummy products listed in it.
- Hexagonal Architecture:
- Simple architecture is used as no Events are needed but we can expand based on need.
- Containerized Components:
- Spring Boot service
- PostgreSQL database
- Spring Boot (Kotlin)
- PostgreSQL (SQL/NoSQL database)
- Docker (Containerization)
REST Endpoints (More detail on Swagger page)
- Description: Accepts a spreadsheet with list of product information.
- Description: Retrieves products from the database.
git clone https://github.com/target-demo.git
cd target-demo
- Spring Boot Application:
docker compose up -d
- Base URL:
http://<your-machine>:8080
- Add IntegrationTest and AcceptanceTest (use JSONAssert to compare API results) along with basic JUnit test.
This project is licensed under the MIT License.
Happy coding! 🚀