This project was developed for the "Programação com Objetos" course @IST - Instituto Superior Técnico (2024/2025). It is organized into two main parts: domain modeling and user interaction.
Contains the domain model:
- Entities: Animal, Species, Habitat, Tree, Employee, Protector, Veterinarian, Vaccine, VaccinationRecord, HotelManager.
- Logic: Satisfaction calculations, seasonal behaviors, and persistence.
Handles user interaction:
- Command-line interface for CRUD operations.
- Imports data from UTF-8 text files.
- Saves state using Java serialization.
Includes UML diagrams from the first delivery:
- Class and sequence diagrams.
- Package structure and relationships.
- UML First: Modeled entities and relationships before coding.
- Design Patterns Applied:
- Observer: For handling seasonal changes in trees.
- Command: For structuring user commands.
- Java: Programming language.
- Class names provided in the skeleton code must remain unchanged.
- Some classes are off-limits for modification.