Pet Café is a web application designed to manage a pet-friendly café that integrates community features with animal adoption services. The system provides customers with a seamless experience for browsing products, reserving tables and exploring adoptable animals.

- Product Management: View a list of café products with details (name, type, price, image).
- Animal Adoption: Browse adoptable animals and submit adoption requests.
- Reservations: Reserve tables by selecting date, time, and table.
- Role-Based Access Control: Different permissions for administrators and customers.
- Pet-match: It matches a pet for adoption based on the user's preferences.
- Backend: Spring Boot
- Frontend: Thymeleaf + React (npm start)
- UI/Styling: Bootstrap for a responsive and user-friendly interface
- Design Patterns: Observer pattern used for adoption request notifications
- Database: JPA with repositories for persistence
- Testing: Unit tests for service-layer methods
- Performance: Product and animal lists load within 2 seconds for standard datasets.
- Scalability: Supports large datasets without performance degradation.
- Security: Role-based access to protect against unauthorized modifications.
- Donations module to support the café’s mission.
- Reviews and ratings for adoptable animals.
- Real-time notifications for events and adoptions.
-
Clone the repository
git clone https://github.com/username/pet-cafe.git cd pet-cafe -
Run the backend (Spring Boot)
- Open the
backendfolder in your IDE (IntelliJ / Eclipse). - Build and run the Spring Boot application.
- By default, it will be available at:
http://localhost:8080/
- Open the
-
Run the frontend
cd frontend npm install npm start -
Access the application
- Frontend: http://localhost:3000/
- Backend API: http://localhost:8080/
This project was developed as part of an academic assignment and is intended for educational purposes.