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