College Lost & Found Tracker is a comprehensive console-based management system designed to streamline campus lost item recovery:
- Secure authentication with SHA-256 password hashing and salt-based encryption
- Role-based access control with Admin and Student privilege levels
- Auto-generated tracking numbers (Format: LF-YYYYMMDD-XXXX) for efficient item identification
- Advanced search functionality with multi-criteria filtering by category, location, and status
- Business intelligence dashboard with comprehensive admin reports and analytics
- JDBC optimization with prepared statements, connection pooling, and ResultSet management
Built with pure Java, MySQL database, and enterprise design patterns for scalability and reliability.
| Feature | Description |
|---|---|
| π Secure Authentication | SHA-256 password hashing with custom salt generation, failed login tracking, and account activation management |
| π₯ Role-Based Access | Dual privilege system: Admin (full CRUD operations) and Student (personal item management and search) |
| π Item Tracking System | Auto-generated unique tracking numbers, multi-status workflow (LOST/FOUND/CLAIMED/RETURNED), and timestamp tracking |
| π Advanced Search Engine | Keyword search across multiple fields, category/location/status filters, and advanced multi-criteria search |
| π Admin Dashboard | User management, item oversight, system reports (status/category/activity), and bulk operations |
| π¨ Console UI Framework | Custom-built ConsoleUI with formatted tables, input validation, menu navigation, and cross-platform screen clearing |
π lost-and-found-tracker/ βββ π backend/ β βββ π DatabaseConnection.java # Singleton DB connection with pooling β βββ π PasswordUtil.java # SHA-256 hashing utilities β βββ π ValidationUtil.java # Input validation engine β βββ π User.java # User model/POJO β βββ π Item.java # Item model/POJO β βββ π UserOperations.java # User CRUD operations β βββ π ItemOperations.java # Item CRUD operations β βββ π SearchOperations.java # Advanced search functionality βββ π frontend/ β βββ π ConsoleUI.java # Reusable UI components β βββ π LoginView.java # Authentication screens β βββ π ItemView.java # Item management views β βββ π SearchView.java # Search interface β βββ π StudentMenu.java # Student dashboard β βββ π AdminMenu.java # Admin dashboard β βββ π Main.java # Application entry point βββ π schema.sql # Database schema βββ π database.properties # DB configuration- Schema Design: 3-table normalized structure (users, items, status_updates) with foreign key constraints
- User Table: Secure credential storage, role management, login tracking, account activation flags
- Item Table: Comprehensive metadata (tracking_number, category, location, dates), status workflow, soft-delete support
- Status Updates: Complete audit trail with timestamp logging and user attribution
- Indexes: Optimized queries with indexes on tracking_number, username, status, category
Password Security: SHA-256 hashing β Custom salt generation β Secure verification β Account lockout after failed attempts
SQL Injection Prevention: PreparedStatement usage β Parameter binding β Input sanitization β Validation layer
Access Control: Role-based permissions β Session management β Admin privilege checks β User data isolation
Data Integrity: Foreign key constraints β Transaction support β Soft-delete pattern β Audit logging
- Search Capabilities: Keyword search with LIKE patterns, Category filtering, Location-based search, Status tracking
- Admin Reports: Items by status (LOST/FOUND/CLAIMED/RETURNED), Category distribution analysis, User activity metrics, System performance statistics
- Data Export: SQL query results, Business insights, User reports, Item tracking history
MVC Architecture: Clear separation of concerns β Backend services β Frontend views β Modular design
JDBC Optimization: Connection pooling β PreparedStatements β ResultSet management β Resource cleanup
Console UI Framework: Formatted tables β Input validation β Menu navigation β Cross-platform support
Error Handling: Try-catch-finally patterns β User-friendly messages β Graceful degradation β Exception logging
Required Softwares: JDK 8 or higher MySQL Server 5.7+ MySQL Connector/J JDBC Driver (mysql-connector-j-8.0.33.jar) Command Prompt / Terminaladd your actual local mysql password in- database.properties file - "db.password= //your device mysql password " in this line1. Clone repository git clone https://github.com/vishnupriyanpr/lost-and-found-tracker.git cd lost-and-found-tracker 2. Setup MySQL Database mysql -u root -p < schema.sql 3. Configure database.properties db.driver=com.mysql.cj.jdbc.Driver db.url=jdbc:mysql://localhost:3306/lostfound_db db.username=root db.password=your_password 4. Download MySQL JDBC Driver Place mysql-connector-j-8.0.33.jar in project root Download: https://dev.mysql.com/downloads/connector/j/ 5. Compile Java files javac -cp ".;mysql-connector-j-8.0.33.jar" backend/.java frontend/.java 6. Run Application java -cp ".;mysql-connector-j-8.0.33.jar" frontend.MainRegister Admin Account Choose "Register New Account" Enter username: admin Enter email: admin@college.edu Enter phone: 1234567890 Enter password: admin123 Select role: ADMIN Login and Explore Username: admin Password: admin123Report Lost Item Login β Report Lost Item Item Name: Blue Backpack Category: PERSONAL Location: Library 2nd Floor Date Lost: 2025-10-24 Get Tracking Number: LF-20251024-0001 Search Items Login β Search Items Choose filter: Category Select: ELECTRONICS View results in formatted tableView All Users Login as Admin β View All Users See user table with ID, username, email, role, status Generate Reports Login as Admin β Generate Reports Choose: Items by Status Report View: LOST (15), FOUND (12), CLAIMED (5), RETURNED (3) Delete Item Login as Admin β Delete Item Enter Tracking Number: LF-20251024-0001 Confirm deletion-- Users Table CREATE TABLE users ( user_id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) UNIQUE NOT NULL, hashed_password VARCHAR(64) NOT NULL, email VARCHAR(100) UNIQUE NOT NULL, phone VARCHAR(15), role ENUM('STUDENT', 'ADMIN') DEFAULT 'STUDENT', is_active BOOLEAN DEFAULT TRUE, failed_login_attempts INT DEFAULT 0, last_login TIMESTAMP NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- Items Table CREATE TABLE items ( item_id INT PRIMARY KEY AUTO_INCREMENT, tracking_number VARCHAR(20) UNIQUE NOT NULL, user_id INT NOT NULL, item_name VARCHAR(100) NOT NULL, description TEXT, category ENUM('ELECTRONICS','BOOKS','PERSONAL','DOCUMENTS','ACCESSORIES','OTHER'), location VARCHAR(100), date_lost DATE, date_found DATE, status ENUM('LOST','FOUND','CLAIMED','RETURNED') DEFAULT 'LOST', found_by INT, is_active BOOLEAN DEFAULT TRUE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (user_id) REFERENCES users(user_id), FOREIGN KEY (found_by) REFERENCES users(user_id) );- β User authentication and registration
- β Lost/Found item reporting
- β Advanced search functionality
- β Admin dashboard and reports
- β Item tracking system
- π Email notifications for matches
- π Image upload support
- π SMS alerts integration
- π QR code generation for items
- π Mobile app development
- π AI-powered item matching
- π Web-based interface
- π± Mobile push notifications
- π Two-factor authentication
- π Advanced analytics dashboard
Contributions are welcome! Development guidelines:
- Fork Repository β Create feature branch (
feature/AmazingFeature) - Code Standards β Follow Java conventions β Comment complex logic β Write clean code
- Testing β Test all CRUD operations β Verify SQL queries β Check error handling
- Documentation β Update README β Add code comments β Document new features
- Submit PR β Detailed description β Link related issues β Request review
Areas for Contribution:
- Backend Enhancement - API development - Cloud integration - Performance optimization - Security hardening
- Frontend Development - GUI with JavaFX/Swing - Web interface - Mobile app - Dashboard improvements
- Database Optimization - Query optimization - Caching layer - Database migrations - Backup automation
MIT License (see LICENSE file)
This project is crafted with precision and innovation by Vishnupriyan P R.
Vishnupriyan P R JDBC Optimization β’ Security Implementation β’ Enterprise Architecture |
- MySQL Community - Database engine and JDBC driver
- Java Community - Platform and libraries
- GitHub - Version control and collaboration platform
- Issues: Report bugs via GitHub Issues
- Discussions: Join GitHub Discussions
- Email: priyanv783@example.com
- LinkedIn: Vishnupriyan P R
π Connecting Lost Items with Their Owners Through Smart Technology π―
Made with β€οΈ for College Communities