Course Project for CS3343 Software Engineering Practice, Semester A 2024/25, City University of Hong Kong.
Warning
All code in this project is for educational purposes only. Please adhere to the principles of academic integrity.
SafePaws is a pet adoption system featuring a client-server architecture. Different users can log in to the system with different roles and perform various operations. The system is implemented using Java and SQLite.
Apart from the basic functionalities, the system also includes the following advanced features:
- Pet Recommendation System: The system will calculate the matching score between users and pets.
- Pet Allocation System: The system will allocate pets to users based on their preferences.
- Optimal Addressing System: The system will recommend the optimal address for new shelters based on the location of stray animals.
- Optimal Pathfinding System: The system will recommend the optimal path for animal shelters to pick up stray animals.
- conf/: Contains configuration files.
- conf/sqlite.db: The database that stores all data.
- src/: Source code directory.
- pom.xml: The Maven build file.
This project requires JDK version 21.
To build the project, run the following command:
mvn package
To perform code linting (Checkstyle and SpotBugs), execute:
mvn verify
- Navigate to the release folder.
- Start the server by running SPServer.jar.
- Start the client by running SPClient.jar.
- Username: memberm1, Password: memberm1, Role: Member
- Username: shelter1, Password: shelter1, Role: Shelter
- Username: adminaaa, Password: adminaaa, Role: Admin