yogeshkumarsaini/Pet-Adoption-System
Java console-based Pet Adoption System with admin login, adoption approval workflow, vaccination reminders, and file handling.
๐พ Pet Adoption System
A console-based Pet Adoption Management System built in Java that helps manage pets available for adoption, track adoption requests, and maintain adoption history.
The system demonstrates Object-Oriented Programming (OOP), File Handling, Sorting, and Admin Authentication concepts.
๐ Features
-
๐ Admin Login System
-
๐ถ Add New Pets
-
๐ View Available Pets
-
๐ Search Pets by Type (Dog / Cat)
-
๐ Sort Pets by Age
-
๐ผ Pet Age Category
- Baby
- Adult
- Senior
-
๐ Vaccination Reminder System
-
โค๏ธ Adoption Request System
-
โ Admin Adoption Approval
-
๐งพ Adoption History File
-
๐พ Save Pet Data using File Handling
๐ ๏ธ Technologies Used
- Java
- Object-Oriented Programming (OOP)
- ArrayList (Java Collections)
- File Handling
- Comparator Sorting
- Console-based UI
๐ Project Structure
PetAdoptionSystem
โ
โโโ Main.java
โโโ Admin.java
โโโ Pet.java
โโโ PetManager.java
โโโ AdoptionRequest.java
โโโ AdoptionApprovalManager.java
โโโ FileManager.java
โโโ pets.txt
โโโ adoption_history.txt
โ๏ธ How It Works
1๏ธโฃ Admin Login
The system starts with an admin login for security.
Username: admin
Password: 1234
2๏ธโฃ Add Pet
Admin can add pets with:
- Name
- Type (Dog/Cat)
- Age
- Vaccination status
Pet ID is generated automatically.
3๏ธโฃ Search and Sort Pets
Users can:
- Search pets by type
- Sort pets by age
4๏ธโฃ Adoption Request
Users submit an adoption request with:
- Pet ID
- Adopter Name
The request goes to the admin approval queue.
5๏ธโฃ Adoption Approval
Admin can:
- View adoption requests
- Approve requests
Approved pets are marked as adopted.
6๏ธโฃ Adoption History
Approved adoptions are stored in:
adoption_history.txt
Example:
PetID:101 Name:Rocky AdoptedBy:Amit
PetID:105 Name:Tom AdoptedBy:Rahul
๐ Vaccination Reminder
The system shows pets with:
nonepending
vaccination status.
Example:
Pets needing vaccination:
ID: 104 | Name: Bruno | Type: Dog | Vaccination: pending
๐ผ Pet Age Categories
Pets are automatically categorized:
| Age | Category |
|---|---|
| 0โ1 | Baby |
| 2โ5 | Adult |
| 6+ | Senior |
โถ๏ธ How to Run
- Clone the repository
git clone https://github.com/yogeshkumarsaini/Pet-Adoption-System.git
-
Open the project in IntelliJ / Eclipse / VS Code
-
Compile and run:
javac *.java
java Main
๐ Learning Concepts
This project demonstrates:
- Object-Oriented Programming
- Encapsulation
- Class Design
- File Handling
- Collections Framework
- Sorting Algorithms
- Console Menu Systems
โญ Future Improvements
- Java Swing GUI Version
- MySQL Database Integration
- Online Pet Adoption Portal
- Email Notification System
- Multiple Admin Support
- Pet Image Upload
๐จโ๐ป Author
Developed by Yogesh Kumar Saini
If you like this project, give it a โญ on GitHub!