About the Project
Overview
UniLost is an integrated lost and found management system designed specifically for Sejong University. The system provides a comprehensive solution for managing lost and found items on campus using modern web technologies and real-time communication features.
Purpose
The primary purpose of UniLost is to:
Streamline Lost and Found Operations: Provide a centralized platform for reporting and managing lost items on campus
Improve Item Recovery Rates: Enable quick and efficient matching of lost items with their owners through map-based search
Enhance Communication: Facilitate real-time communication between users and administrators through integrated chat features
Support Administrative Workflow: Provide administrators with tools to approve, manage, and track lost and found items
Objectives
The project aims to achieve the following objectives:
User-Friendly Interface * Intuitive map-based interface for item registration and search * Responsive design supporting both desktop and mobile devices * Real-time updates and notifications
Efficient Item Management * Location-based item registration with precise coordinates * Category-based organization of items * Status tracking (pending, approved, rejected)
Secure Authentication * Session-based user authentication * Role-based access control (students and administrators) * Secure password hashing using bcrypt
Real-Time Communication * Global chat for general discussions * Item-specific threaded discussions * Socket.IO-based real-time messaging
Scalable Architecture * Support for both SQLite (development) and PostgreSQL (production) * RESTful API design * Modular code structure
Key Features
🗺️ Map-based Lost and Found Registration/Search: Location-based lost and found management using Leaflet maps
💬 Real-time Chat: Socket.IO-based global chat and item-specific threaded chat
👤 User Authentication: Session-based login/logout system
🔐 Administrator Functions: Lost and found approval/rejection, storage location management
💾 Permanent Data Storage: Data preservation via PostgreSQL (production) / SQLite (local development) database
📱 Responsive Design: Supports both mobile and desktop
Target Users
Students: Can register lost items, search for found items, and communicate with other users
Administrators: Can approve/reject item registrations, manage storage locations, and oversee the system
Technology Stack
Backend: Node.js, Express.js
Database: PostgreSQL (production) / SQLite (development)
Real-time: Socket.IO
Frontend: HTML, JavaScript, Tailwind CSS
Maps: Leaflet.js, OpenStreetMap
License
This project is licensed under the Apache License 2.0. See the LICENSE file for details.