You are building PawPal+, a Streamlit app that helps a pet owner plan care tasks for their pet.
A busy pet owner needs help staying consistent with pet care. They want an assistant that can:
- Track pet care tasks (walks, feeding, meds, enrichment, grooming, etc.)
- Consider constraints (time available, priority, owner preferences)
- Produce a daily plan and explain why it chose that plan
Your job is to design the system first (UML), then implement the logic in Python, then connect it to the Streamlit UI.
Your final app should:
- Let a user enter basic owner + pet info
- Let a user add/edit tasks (duration + priority at minimum)
- Generate a daily schedule/plan based on constraints and priorities
- Display the plan clearly (and ideally explain the reasoning)
- Include tests for the most important scheduling behaviors
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt- Read the scenario carefully and identify requirements and edge cases.
- Draft a UML diagram (classes, attributes, methods, relationships).
- Convert UML into Python class stubs (no logic yet).
- Implement scheduling logic in small increments.
- Add tests to verify key behaviors.
- Connect your logic to the Streamlit UI in
app.py. - Refine UML so it matches what you actually built.