wiki:BuildInstructions

Version 1 (modified by 181201, 7 days ago) ( diff )

--

Build Instructions

The system is a monolithic web application:

  • Backend & Frontend: Spring Boot with Thymeleaf

Required Software

OS

  • Windows 10/11
  • macOS
  • Linux

System Requirements

  • Java JDK 21
  • Maven 3.9+
  • Docker (Optional but recommended)

Development Environment Technology Stack

Tech Stack

  • Spring Boot
  • Spring Web
  • Spring Data JPA (Hibernate)
  • Thymeleaf (Templating Engine)
  • Bootstrap 5 (CSS Framework)

Build Instructions

1. Clone the project

https://github.com/EmilPetrovski/petsitter

git clone https://github.com/EmilPetrovski/petsitter
cd petsitter

2. Database Setup

Open DBeaver:

  1. Create a new database.
  2. Open and run the schema_creation.sql script to generate the tables.
  3. Open and run the data_load.sql script to populate the database with test users, pets, and services.

3. Environment Configuration

The application needs database credentials as environment variables for database credentials. You can set them as system environment vars or replace them in src/main/resources/application.properties:

export DB_USERNAME="your_postgres_username"
export DB_PASSWORD="your_postgres_password"

4. Build and Run the Application (Native)

mvn clean install -DskipTests
mvn spring-boot:run

The application will run on http://localhost:8080

Alternative: Build and Run via Docker

Run the application inside a container:

docker build -t petsitter-app .
docker run --network host -e DB_USERNAME="your_username" -e DB_PASSWORD="your_password" petsitter-app

Step by step mini guide

Main elements of the application and the standard user flow:

For Pet Owners:

  1. Sign Up / Log In: Register as a "Pet Owner" or use a test account.
  2. Add a Pet: Navigate to "My Pets" and click "Add New Pet" to register a dog, cat, or rabbit.
  3. Find a Sitter: Go to "Find a Sitter", filter by service type (for example Overnight Stay), and browse available sitters.
  4. Create a Booking: Click "Book Now" on a sitter's profile, select dates, address, payment method and the pets you want to include.
  5. Manage Bookings: Navigate to "My Bookings" to view active requests, cancel them, or leave a review for completed bookings.

For Pet Sitters:

  1. Set Offered Services: Navigate to "My Offered Services" to select the services you provide (for example Overnight Stay, Short Visit).
  2. Review Requests: Navigate to "Pending Requests" to accept or reject incoming bookings from Pet Owners.
  3. Complete Bookings: Once a confirmed booking is finished, mark it as "Completed" from the dashboard.

For Administrators:

  1. Admin Panel: Log in with the Admin account to access the protected Admin dashboards.
  2. Manage Platform Data: View and manage all Platform Users, Bookings, Pets, and Reviews. The Admin can permanently delete Users and add new Service Types to the platform.
Note: See TracWiki for help on using the wiki.