# UniConnect - University Book & Material Exchange Platform
🌐 Project Home / Live Demo
A professional PHP-based web application for Ethiopian university students to exchange, borrow, donate, and sell academic books and materials.
## Project Overview
UniConnect connects students across Ethiopian universities, providing an organized platform for sharing educational resources. The system replaces informal methods (like Telegram groups) with a secure, feature-rich web application.
## Core Technologies
- **Backend**: PHP 8.2 with Object-Oriented Programming
- **Database**: MySQL (configured for port 3307)
- **Frontend**: HTML5, CSS3, Bootstrap 5, JavaScript
- **Authentication**: PHP Sessions and Cookies
## PHP Concepts Demonstrated
1. **Object-Oriented Programming (OOP)**
- Classes: `Database`, `User`, `Book`, `Request`, `Message`, `Admin`
- Encapsulation, inheritance, and polymorphism
- Singleton pattern for database connection
2. **Database Management**
- PDO for secure database access
- Prepared statements to prevent SQL injection
- Database relationships and foreign keys
3. **Session & Cookie Management**
- Secure user authentication
- "Remember Me" functionality with cookies
- Session security best practices
4. **File Handling**
- Image upload and storage
- File validation and security
- Directory management
## Features
### User Features
- ✅ Registration with university email validation (.edu.et)
- ✅ Secure login with session/cookie support
- ✅ Upload and manage book listings
- ✅ Search and filter books by multiple criteria
- ✅ Send and receive exchange requests
- ✅ Messaging system for coordination
- ✅ Profile management
- ✅ Dashboard with statistics
### Admin Features
- ✅ Approve or block book listings
- ✅ User management (activate/deactivate accounts)
- ✅ System statistics and reports
- ✅ Activity logs
- ✅ Top departments and exchange type analytics
## Database Schema
The application uses 5 main tables:
- `users` - User accounts and authentication …