Skip to content

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Phoenix Technologies Code Exercise

A RESTful Product Inventory API developed with Spring Boot 3.4.4, Java 21, and Maven.

Spring Boot Java Maven

✨ Features:

  • CRUD Operations for Products and Categories
  • Embedded H2 Database for development
  • Database Migrations with Flyway
  • Unit tests with JUnit
  • Pagination & Sorting for all list endpoints
  • Filtering by name and price range for product list endpoint
  • Auto-generated API Docs with Swagger

🚀 Technologies Used

  • Framework: Spring Boot 3.4.4
  • Language: Java 21
  • Database: H2 (Embedded)
  • ORM: Spring Data JPA
  • Migrations: Flyway
  • API Docs: Springdoc OpenAPI
  • Build: Maven
  • Testing: JUnit

⚙️ Requirements


▶️ Running the Application

For running the application, execute the following Maven command:

mvn spring-boot:run

The API will be available at http://localhost:8090


💾 H2 Database Console

Access the H2 database:

http://localhost:8090/h2-console

Connection details:

  • JDBC URL: jdbc:h2:file:./target/product_inventory_db
  • Username: sa
  • Password: Leave empty

📂 Flyway Database Migrations

Flyway runs automatically at startup. Migration scripts are located in:

src/main/resources/db/migration/

✅ Running Tests

Execute all unit tests:

mvn test

📖 Swagger API Documentation

Explore and test the API endpoints via Swagger UI:

http://localhost:8090/swagger-ui/index.html

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages