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: 1. **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 2. **Efficient Item Management** * Location-based item registration with precise coordinates * Category-based organization of items * Status tracking (pending, approved, rejected) 3. **Secure Authentication** * Session-based user authentication * Role-based access control (students and administrators) * Secure password hashing using bcrypt 4. **Real-Time Communication** * Global chat for general discussions * Item-specific threaded discussions * Socket.IO-based real-time messaging 5. **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.