# 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 β¦