# 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)

1. Open the project in IntelliJ.
2. Open **View → Tool Windows → Services**.
3. Add a Docker connection if needed, then open the **Docker** section in Services.
4. Start the Compose stack from `docker-compose.yml` (Compose Up, or Start).
5. Confirm the `mysql` service 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)

1. Open **View → Tool Windows → Maven**.
2. Click **Reload All Maven Projects** if the dependencies have not loaded yet.
3. In the Maven tool window, expand **Plugins → javafx**.
4. 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.properties` is gitignored so credentials are not committed.
- If the app cannot connect to MySQL, confirm the Compose stack is running and MySQL is available.
