| Version 1 (modified by , 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:
- Create a new database.
- Open and run the schema_creation.sql script to generate the tables.
- 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:
- Sign Up / Log In: Register as a "Pet Owner" or use a test account.
- Add a Pet: Navigate to "My Pets" and click "Add New Pet" to register a dog, cat, or rabbit.
- Find a Sitter: Go to "Find a Sitter", filter by service type (for example Overnight Stay), and browse available sitters.
- Create a Booking: Click "Book Now" on a sitter's profile, select dates, address, payment method and the pets you want to include.
- Manage Bookings: Navigate to "My Bookings" to view active requests, cancel them, or leave a review for completed bookings.
For Pet Sitters:
- Set Offered Services: Navigate to "My Offered Services" to select the services you provide (for example Overnight Stay, Short Visit).
- Review Requests: Navigate to "Pending Requests" to accept or reject incoming bookings from Pet Owners.
- Complete Bookings: Once a confirmed booking is finished, mark it as "Completed" from the dashboard.
For Administrators:
- Admin Panel: Log in with the Admin account to access the protected Admin dashboards.
- 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.
