A full-stack web application developed using Laravel 12 and Vue 3 to modernize campus lost-and-found operations. This project implements automated image matching to help users efficiently locate and claim their missing items.
This is a Capstone Project developed for the University of Antique to streamline the reporting and recovery process for lost items within the campus environment. By moving beyond traditional lists, it utilizes smart image comparison tools to match user reports with found items in the database.
- Automated Image Matching: Compares photos of lost and found items using perceptual hashing (pHash) and structural similarity (SSIM) to determine visual matches.
- Secure Claim Verification: A structured workflow for users to provide proof of ownership and confirm receipt of their items.
- CCTV Support Architecture: Designed to integrate with campus camera logs to assist in tracking the last known location of items.
- Real-Time Notifications: Sends automated alerts via email and in-app notifications for match updates and claim status changes.
- Laravel 12: The primary framework for application logic and API management.
- MySQL: Relational database for storing user, item, and audit data.
- Laravel Sanctum: Used for secure authentication and session management.
- Queue System: Handles asynchronous tasks like email delivery to ensure high performance.
- Vue 3: A reactive framework used for building the dynamic user interface.
- Inertia.js: Provides a seamless connection between the Laravel backend and Vue frontend.
- Tailwind CSS 4: Used for a modern, responsive design and layout.
- TypeScript: Ensures type safety and better code maintainability.
- Chart.js: Utilized for the administrative dashboard and data visualization.
- Admin: Oversees system configuration, manages camera data, and monitors audit logs.
- Staff: Responsible for reviewing reports, approving claims, and managing the physical handover of items.
- Students & Visitors: Can submit lost or found reports, track claim progress, and receive automated updates.
The system analyzes photos beyond simple text descriptions:
- Structure Analysis: Checks the visual structure of items to find similarities.
- Color Distribution: Identifies items based on dominant color profiles.
- Match Scoring: Generates a percentage-based confidence score for every potential match.
- Evidence-Based Claims: Users are required to provide a description or proof to verify ownership.
- Audit Logging: Every action—from approval to final handover—is logged for transparency and security.
- Two-Step Confirmation: Claimants confirm the receipt of their items via a secure, tokenized link.
- In-App Alerts: Users can view all updates in a centralized notification center.
- Email Integration: Important status changes and match alerts are sent directly to the user's email.
app/Helpers: Contains the logic for image similarity and perceptual hashing.app/Services: Manages core matching algorithms and automated logging.resources/js/pages: All Vue-based pages for the user interface.database/migrations: Database schema definitions and table structures.routes/: Organized routing for web, authentication, and user settings.
- Clone the repository
- Install PHP Dependencies:
composer install - Install JS Dependencies:
npm install - Configure Environment: Copy
.env.exampleto.envand set up your database and mail credentials. - Generate Application Key:
php artisan key:generate - Run Database Migrations:
php artisan migrate --seed - Link Storage:
php artisan storage:link - Start the Application:
php artisan servenpm run dev
Developed by Eli Jaspen Faderguya, a fourth-year IT student at the University of Antique. This project serves as a capstone solution designed to modernize campus operations and improve the student experience through innovative technology.
- Core backend and API logic are fully implemented.
- Image matching engine is active and functional.
- User roles and notification systems are integrated.
- Frontend development is complete with responsive design.
- Ongoing work includes refining camera integration and optimizing match performance.