The Electronic Shelter Management System is a JavaFX-based application designed to manage animal shelters. It provides functionalities for both administrators and users to manage shelters and animals efficiently. The application includes features such as user authentication, shelter/animal management, and data filtering/sorting.
- User Authentication: Secure login for administrators and users.
- Shelter Management: Add, edit, remove, and view shelters.
- Animal Management: Add, edit, remove, and view animals within shelters.
- Adoption Management: Adopt animals and update their status.
- Data Filtering: Filter animals by condition and search by text.
- Data Sorting: Sort shelters by occupancy rate.
- User Interface: Separate interfaces for administrators and users.
- JavaFX for the graphical user interface
- MySQL for the database
- JUnit and Mockito for testing
- Maven for project management and build automation
- Java Development Kit (JDK) 17 or higher
- Apache Maven
- MySQL Database
git clone https://github.com/WinterWollf/Electronic-shelter.git
cd Electronic-shelter- Install MySQL.
- Run the SQL script located in
init.sqlto create the necessary database, tables and insert initial data.
Update the database connection details in the UserService.java file located at UserService.java.
public class UserService {
private static final String URL = "jdbc:mysql://localhost:3306/shelter";
private static final String USER = "root";
private static final String PASSWORD = "";
...
}- Navigate to the project directory.
- Use Maven to build the project.
mvn clean install- Run the application.
mvn javafx:run- Login: Use the credentials
admin/admin1234to log in as an administrator. - Manage Shelters: Add, edit, remove, and view shelters.
- Manage Animals: Add, edit, remove, and view animals within shelters.
- Adopt Animals: Change the status of animals to adopted.
- Login: Use the credentials
user/user1234to log in as a user. - View Shelters: View the list of shelters.
- View Animals: View the list of animals within selected shelters.
- Adopt Animals: Adopt animals and update their status.
The project includes unit tests to ensure the correctness of the application. The current code coverage is 92%.
To run the tests, use the following Maven command:
mvn testHere are some screenshots showcasing the main features of the application:
This project is licensed under the Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) License - see the LICENSE file for details.
For any inquiries or feedback, feel free to reach out to the project author:
- GitHub: WinterWollf


