Reference no: EM133968980 , Length: Word Count:1000
Task - Project
Goal
To produce a Python program that effectively solves a real-world problem.
Task Instructions
You can choose one (1) of the two programs below. You are required to design and create a program that performs your solution. For those students who are looking for higher grades such as Distinctions or High Distinction, you should aim to implement two or more of the advanced options.
Regional Animal Shelter Management System (RASMS)
Background
You have been hired by the Regional Animal Welfare Authority to design a simple Animal Shelter Management System (RASMS).
The system will help staff track animals in multiple shelters across the region, manage adoptions, and move animals between shelters when needed. produce a Python program that effectively solves
Your job is to model and implement this system using Python.
Task Objectives (Core Requirements)
You must design and implement a Python program that performs the following key tasks:
Shelter Setup
Model at least 10 shelters from around Adelaide or regional South Australia.
Each shelter has:
A name (e.g., "Glenelg Animal Rescue")
A location/suburb
A list of animals currently housed there.
Animal Records
Each animal in the system must have:
Animal type (e.g., Dog, Cat, Rabbit, Bird, Reptile)
Name
Age (in years)
Breed
Health status (e.g., Healthy, Needs Vaccination, Injured)
Adoption status (e.g., Available, Adopted, In Treatment)
Animal ID (a unique code such as D102, C214, etc.)
Shelter address (e.g., "12 Paws Street, Glenelg")
System Actions
Your program should provide a menu-driven interface that allows the Shelter Manager to perform the following actions:
View Shelter Inventory
Display a list of all shelters and the animals they currently house.
For each animal, display:
ID, name, species, breed, age, health status, and adoption status.
Move an Animal Between Shelters
Allow the manager to relocate an animal from one shelter to another.
Update its shelter location and print a Movement Record showing:
Animal ID and name
Old shelter and address
New shelter and address
Update an Animal's Status
Allow updating an animal's health or adoption status (e.g., "In Treatment" → "Healthy", or "Available" → "Adopted").
Exit the System
Exit cleanly with a message thanking the user and confirming that data has been saved (if file handling is implemented).
Advanced Features (for Distinction / High Distinction)
Students aiming for higher grades should implement two or more of the following extensions:
File Handling (JSON or CSV)
Load all shelter and animal data from a JSON or text file at startup.
Save all changes (moves, status updates, adoptions) back to the file upon exit.
Search and Reporting
Add the ability to search animals by name, breed, or health status.
Add a summary report showing:
Total animals per shelter
Number available for adoption
Number currently in treatment
Scalability / Code Design
Extend the system to support 15+ shelters and ensure new shelters or animal types can be added easily.
Use classes and objects to represent shelters and animals (rather than just lists/dicts).
Database Integration (SQLite)
Replace file storage with a SQLite database.
Use SQL queries to:
Retrieve shelters and animals
Update animal movement and status
Ensure database integrity (e.g., foreign key between Shelter and Animal tables).
Adoption for a Fee and Revenue Tracking
Extend the system to support animal adoptions with fees.
When an animal is marked as Adopted, record an adoption fee based on:
Dogs: $300 if under 5 years, $200 if older
Cats: $250 if under 5 years, $150 if older
Rabbits or other small animals: $150 if under 5 years, $100 if older
Animal type and age, e.g.:
Students may choose a similar pricing logic.
Each shelter must keep a running total of all adoption fees collected.
Add a new menu option:
"View Shelter Revenue Report", which displays:
Each shelter's name
Number of animals adopted
Total adoption fees collected
Optionally, display a regional total for all shelters combined.
Campus Café Ordering and Inventory System (CCOIS)
Background
You have been hired to develop a Campus Café Ordering and Inventory System (CCOIS) for a small university café.
The café serves students and staff and wants to computerize its menu, sales, and inventory tracking.
Your program will allow customers to order food and drinks, calculate totals, and ensure the café's stock levels
are updated as items are sold. Get dependable, budget-friendly assignment help-starting today!
The system should also allow a café manager to review or restock inventory when needed.
Task Objectives (Core Requirements)
You must design and implement a Python program that performs the following key tasks:
Load Menu and Inventory
When the program starts, load menu and stock data from a text or JSON file (e.g., menu.json).
Each menu item must include:
Item name (e.g., "Flat White")
Category (e.g., "Coffee", "Snack", "Meal", "Cold Drink")
Price (e.g., 4.50)
Quantity in stock (e.g., 25)
Store the data in an appropriate data structure (e.g., a list of dictionaries or class objects).
Customer Ordering System
When a customer arrives:
Display a welcome message and menu categories.
Allow the customer to:
Choose a category (e.g., "Coffee")
View all available items in that category
Select items and quantities to add to their order/cart
Check that there is enough stock for each requested item.
If stock is insufficient, display an appropriate message.
Update in-memory stock levels as items are ordered.
Checkout
When the customer decides to checkout:
Display an itemized receipt (docket) showing:
Item name
Quantity
Price per item
Subtotal per item
Calculate and display the total payable amount.
Optionally include a small discount (e.g., 10%) if the total exceeds a threshold (e.g., $30).
Save the updated inventory back to the file to reflect the sold items.
Advanced Features (for Distinction / High Distinction)
Students aiming for higher grades should implement two or more of the following extensions:
Manager Mode
Add a Manager Login Mode (simple password-based system). When logged in as the manager, allow:
Viewing the current inventory list
Restocking items by increasing their quantity
Adding new menu items (name, category, price, quantity)
Removing discontinued items
Saving all changes to the file
Database Integration (SQLite)
Store all menu and inventory data in an SQLite database.
Use SQL commands to:
Retrieve menu items
Update stock when purchases occur
Add or remove items through Manager Mode
Reporting and Revenue Tracking
Track total daily sales.
Add a "Manager Report" option that shows:
Number of items sold per category
Total revenue collected for the day
Top 3 best-selling items
Meal Deal or Combo Pricing (Optional Enhancement)
Allow the café to define special combos (e.g., "Coffee + Muffin = $6.50").
Ensure that when a combo is purchased, the stock of both items is adjusted.
Report
Your report is to be presented as a professional business report. It must be submitted as a Word document in the format "<student name> - Task 2.doc" (not pdf) with the following structure:
Title page
Table of contents
Introduction
Problem Description - what your program is and does, and any limitations
Design - your pseudocode for your solutions (initial and final) or your flow charts if you prefer
You should identify the libraries that you use in your code to help solve your problem, including any installation information needed to make your assignment executable.
You must also include a test plan and detailed test cases including inputs and expected outputs
Python program
The working Python program together with any testing files or configuration files should be compressed into a .zip in the format "<student name> - Task 2.zip" and submitted.
You should include documentation throughout the program.
If your Python program opens a file, please ensure it is opened from the same folder as your program.