The Lost & Found module gives NAMETS members a centralised board for reporting items that have been lost or found on campus. Admins manage the listings, update statuses, and record who claimed an item and how to reach them. Items are automatically timestamped the moment they are marked as claimed.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Muhammadbugaje/NAMETS_Website/llms.txt
Use this file to discover all available pages before exploring further.
Data Model
Item
The single model powering the entire module.| Field | Type | Notes |
|---|---|---|
title | CharField | Short item name, max 200 chars |
description | TextField | Detailed description to help identification |
image | CloudinaryField | Optional photo, stored in Cloudinary lostfound/ folder |
status | CharField | lost, found, or claimed (see below) |
category | CharField | Item category (see below) |
reported_at | DateTimeField | Auto-set when the record is first created |
claimed_by_name | CharField | Full name of the person who claimed the item (optional) |
claimed_by_contact | CharField | Phone or email of the claimant (optional) |
claimed_at | DateTimeField | Auto-set when status is first changed to claimed |
is_active | BooleanField | Controls public visibility; set False to archive resolved items |
-reported_at (most recently reported first).
Status Choices
| Value | Display Label | When to use |
|---|---|---|
lost | Lost | The owner has lost the item and is looking for it |
found | Found | Someone found an item and turned it in / reported it |
claimed | Claimed | The item has been reunited with its owner or the rightful finder |
Category Choices
| Value | Display Label |
|---|---|
electronics | Electronics |
clothing | Clothing |
watches | Watches |
caps | Caps |
accessories | Accessories |
books | Books |
other | Other |
Auto-setting claimed_at
The Item.save() method contains logic to auto-populate claimed_at the first time an item is marked as claimed:
claimed_at is only set once — on the first save where status == 'claimed'. Subsequent saves on a claimed item will not overwrite the original timestamp.URL Routes
All routes are under thelostfound app namespace with the URL prefix /lostfound/.
| Name | URL Pattern | View | Description |
|---|---|---|---|
list | /lostfound/ | item_list | Filterable listing of active items |
detail | /lostfound/item/<int:pk>/ | item_detail | Single item details and claimant info |
Item Lifecycle Workflow
Item is reported
A member reports a lost or found item to an admin. The admin creates a new
Item record in the Django admin panel, setting:titleanddescriptionwith enough detail for identificationcategoryto aid filteringstatusto eitherlostorfound- An optional
imagefrom Cloudinary is_active = Trueto make it publicly visible
Item appears on the public board
Active items (where
is_active = True) are visible at /lostfound/. Members can browse by status and category to see if their item has been found or to identify something they found.Owner or finder comes forward
A member contacts the admin to claim the item. The admin verifies identity and ownership before proceeding.
Admin marks the item as claimed
In the Django admin, the admin:
- Sets
status = claimed. - Fills in
claimed_by_namewith the claimant’s full name. - Fills in
claimed_by_contactwith a phone number or email. - Saves the record —
claimed_atis automatically set to the current timestamp.
Lost Items
Items with
status = 'lost' are posted by members who have misplaced belongings. The listing helps others identify and return found items.Found Items
Items with
status = 'found' are posted when someone picks up an unattended item. The owner can come forward and claim it through the admin.