A console-based application written in C# to help manage a zooโs animals, enclosures, feeding schedules, and medical records.
This project demonstrates the core functionality of a Zoo Management System with the ability to:
- Add and manage animals (name, species, age, enclosure)
- Add and manage staff members (name, role, contact)
- List all animals and staff in the system
The current implementation is a console-based prototype showcasing object-oriented design and basic operations. It can be extended to support GUI or web interfaces and database storage.
- Add and manage enclosures with capacity limits
- Add animals to enclosures and transfer animals between enclosures
- Search animals by name or species
- Manage medical records for each animal (add/view diagnosis and treatment history)
- Set and update feeding schedules (food type and feeding time) per animal
- Save and load data persistently using JSON files
All zoo data (enclosures, animals, feeding schedules, medical records) are saved in JSON format under the Data/zoo_data.json file automatically when you choose โSave & Exitโ from the menu.
-
(version 6.0 or higher recommended)
- A C# IDE or editor like Visual Studio, Visual Studio Code, or Rider
- Clone the repository or copy the source files into a C# project.
- Build the project using your IDE or via command line:
dotnet build
dotnet run
The console app will demonstrate adding some animals and staff, then listing them.
Program.csโ Entry point of the applicationModels/โ Contains data models:Animal.csEnclosure.csFeedingSchedule.csMedicalRecord.csZookeeper.cs(reserved for future expansion)
Services/โ Core business logic and UI handling:ZooManager.csโ Manages all zoo operationsMenuService.csโ Console menu and user interactionDataService.csโ Handles JSON data load/save operations
- Add editing and deleting animals and staff
- Implement persistent storage using a database
- Create a GUI with Windows Forms, WPF, or ASP.NET Core
- Add user authentication and role-based access
- Extend functionality to manage feeding schedules, health records, and ticketing
This project is open-source and available under the MIT License.