Welcome to Furniture API
The Furniture API is a production-ready microservice built with Spring Boot 3.5.7 and Java 21, designed to manage furniture products, categories, inventory, suppliers, and product reviews. It provides a complete solution for furniture catalog and inventory management with PostgreSQL database integration.Quick Start
Get up and running with the Furniture API in minutes using Docker
API Reference
Explore all available endpoints with interactive Swagger documentation
Data Model
Understand the database schema and entity relationships
Setup Guide
Configure database, Docker, and environment variables
Key Features
Product Management
Complete CRUD operations for furniture products with SKU tracking, pricing, dimensions, and multi-image support
Category Hierarchy
Organize products with hierarchical categories supporting parent-child relationships
Inventory Control
Real-time stock tracking with low-stock alerts and automatic inventory updates
Supplier Management
Manage supplier information and track product sources
Product Reviews
Customer review system with ratings and feedback
Advanced Search
Search products by name, SKU, category, price range with pagination support
Technology Stack
The Furniture API is built with modern, enterprise-grade technologies:- Spring Boot 3.5.7 - Latest Spring framework for microservices
- Java 21 - Modern Java LTS version with latest features
- PostgreSQL - Robust relational database for data persistence
- Hibernate/JPA - Object-relational mapping for database operations
- SpringDoc OpenAPI - Interactive API documentation with Swagger UI
- Spring Cloud Netflix Eureka - Service discovery and registration
- ModelMapper - Simplified DTO mapping
- Lombok - Reduced boilerplate code
- Docker - Containerized deployment
API Endpoints Overview
The API is organized into the following main resources:Products
Products
/api/v1/products - Manage furniture products with full CRUD operations, search by SKU, name, category, and price range filteringCategories
Categories
/api/v1/categories - Organize products into hierarchical categories with main and subcategory supportInventory
Inventory
/api/v1/inventory - Track stock levels, manage inventory, check low stock items and out-of-stock productsSuppliers
Suppliers
/api/v1/suppliers - Manage supplier information and product sourcingProduct Reviews
Product Reviews
/api/v1/product-reviews - Customer review and rating systemProduct Images
Product Images
/api/v1/product-images - Manage multiple images per productProduct Dimensions
Product Dimensions
/api/v1/product-dimensions - Track product measurements and physical specificationsAll endpoints support pagination and return data in JSON format with snake_case property naming.
Service Discovery
The Furniture API is configured as a microservice with Netflix Eureka service discovery, allowing it to:- Register automatically with the Eureka server
- Enable load balancing and fault tolerance
- Support distributed system architectures
- Facilitate service-to-service communication