Acadelyx is a production-ready Academic Resource Hub built using a custom PHP MVC architecture. The platform enables students to upload, share, discover, and discuss academic resources through a secure and community-driven environment.
The project includes authentication, role-based access control, note management, community discussions, moderation tools, reporting systems, audit logs, profile management, secure file uploads, and responsive user interfaces with dark mode support.
- User Registration
- User Login & Logout
- Session Security
- Role-Based Access Control
- Admin Privileges
- Account Blocking & Unblocking
- Upload Notes
- Download Notes
- Secure File Validation
- File Preview
- Notes Approval Workflow
- Personal Notes Dashboard
- Academic Communities
- Discussion Threads
- Comments
- Thread Reactions
- Comment Reactions
- Community Management
- Admin Dashboard
- User Management
- Notes Moderation
- Community Management
- Reports Management
- Audit Logs
- Contact Messages Review
- Profile Management
- Profile Image Support
- Account Updates
- CSRF Protection
- Session Fingerprinting
- Input Validation
- Rate Limiting
- Secure File Uploads
- Content Security Policy (CSP)
- Security Headers
- Audit Logging
- Responsive Design
- Bootstrap 5 UI
- Dark Mode Support
- Mobile Friendly Interface
| Category | Technology |
|---|---|
| Backend | PHP 8+ |
| Database | MySQL |
| Frontend | HTML5, CSS3, JavaScript |
| UI Framework | Bootstrap 5 |
| Architecture | Custom MVC |
| Web Server | Apache |
| Local Environment | XAMPP |
| Hosting | InfinityFree |
| Dependency Management | Composer |
Acadelyx follows a layered Custom MVC Architecture.
Client Request
│
▼
Router
│
▼
Controller
│
▼
Service Layer
│
▼
Model Layer
│
▼
MySQL Database
| Layer | Responsibility |
|---|---|
| Controllers | Handle HTTP requests |
| Services | Business logic |
| Models | Database interaction |
| Middleware | Security & authorization |
| Helpers | Utility functions |
| Views | Presentation layer |
acadelyx/
├── app/
│ ├── Controllers/
│ ├── Core/
│ ├── Helpers/
│ ├── Middleware/
│ ├── Models/
│ └── Services/
│
├── assets/
│ ├── css/
│ ├── js/
│ ├── fonts/
│ └── vendor/
│
├── config/
├── database/
├── storage/
│ ├── uploads/
│ ├── profile_images/
│ └── logs/
│
├── views/
│ ├── admin/
│ ├── auth/
│ ├── community/
│ ├── dashboard/
│ ├── errors/
│ ├── layout/
│ ├── notes/
│ ├── pages/
│ ├── profile/
│ └── search/
│
├── .env
├── .gitignore
├── .htaccess
├── composer.json
├── index.php
├── preview.php
├── download.php
└── README.md
| Folder | Purpose |
|---|---|
| Controllers | Request handlers |
| Core | Framework core components |
| Helpers | Shared helper functions |
| Middleware | Security and authorization |
| Models | Database operations |
| Services | Business logic |
| Views | UI templates |
| Storage | Uploads, images and logs |
| Assets | CSS, JS, fonts and vendor files |
| Config | Application configuration |
| Database | SQL schema and setup files |
Create a MySQL database:
CREATE DATABASE acadelyx;Import:
database/acadelyx.sql
using phpMyAdmin or MySQL command line.
git clone https://github.com/Hrishit-Patil/Acadelyx.gitPlace the project inside:
xampp/htdocs/
Create:
.env
Example:
APP_NAME=Acadelyx
APP_ENV=local
APP_URL=http://localhost/acadelyx
DB_HOST=localhost
DB_NAME=acadelyx
DB_USER=root
DB_PASS=
UPLOAD_PATH=/storage/uploadsStart:
- Apache
- MySQL
from XAMPP Control Panel.
http://localhost/acadelyx
- Browse resources
- Browse communities
- View discussions
- Upload notes
- Download approved notes
- Participate in discussions
- Comment on threads
- Like and dislike content
- Report inappropriate content
- Manage profile
- Manage users
- Approve notes
- Manage communities
- Resolve reports
- Review audit logs
- View contact messages
| Role | Permissions |
|---|---|
| Guest | Read-only access |
| User | Upload and participate |
| Admin | Full platform management |
- CSRF Protection
- Secure Sessions
- Session Fingerprinting
- Password Hashing
- Input Sanitization
- Rate Limiting
- MIME Type Validation
- Secure File Upload Handling
- Content Security Policy
- Security Headers
- Audit Logging
This project is licensed under the MIT License.
Hrishit Patil








