d4e532a798891a745dada3ecee65c1216ae869c9
- Remove id field from ProductSupplierResponse - Rename supplierPrice to cost in ProductSupplierResponse and ProductSupplierRequest - Update ProductSupplierApi to use composite keys (productId, supplierId) for update and delete - Update ProductSupplierController delete logic to iterate and delete with composite keys - Update ProductSupplierController mapping to use getCost() instead of getSupplierPrice() - Update ProductSupplierDialogController to pass both productId and supplierId to update - Update ProductSupplierDialogController to use setCost() instead of setSupplierPrice() - Remove unused selectedId field from ProductSupplierDialogController
Pet Shop Desktop (JavaFX)
Desktop pet shop management app built with JavaFX and MySQL.
Made by Group 2, Shiv, Nikitha, Alex, Harkamal.
Requirements
- IntelliJ IDEA (Community or Ultimate)
- Java 17+
- Maven (handled through IntelliJ)
- Docker and Docker Compose (for the local MySQL container)
Database setup (IntelliJ)
- Open the project in IntelliJ.
- Open View → Tool Windows → Services.
- Add a Docker connection if needed, then open the Docker section in Services.
- Start the Compose stack from
docker-compose.yml(Compose Up, or Start). - Confirm the
mysqlservice is running.
The container uses mysql:8.4, creates the Petstoredb database, and imports Petstoredata.sql.
App configuration
An example connection file is provided at connectionpetstore.properties.example. Copy it to connectionpetstore.properties and edit the values to match the local database setup.
Run the app (IntelliJ, Maven)
- Open View → Tool Windows → Maven.
- Click Reload All Maven Projects if the dependencies have not loaded yet.
- In the Maven tool window, expand Plugins → javafx.
- Double click javafx:run.
Optional, run a clean first:
- In the Maven tool window, expand Lifecycle and run clean.
Default accounts
On first run, the app creates a users table (if missing) and seeds two accounts:
- Admin:
admin/admin123 - Staff:
staff/staff123
Notes
connectionpetstore.propertiesis gitignored so credentials are not committed.- If the app cannot connect to MySQL, confirm the Compose stack is running and MySQL is available.
Description
Languages
Java
88.6%
JavaScript
11.2%
CSS
0.2%