Skip to content

Repository files navigation

Acadelyx – Academic Resource Hub

PHP MySQL Bootstrap Architecture License


Acadelyx

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.


Features

Authentication & Authorization

  • User Registration
  • User Login & Logout
  • Session Security
  • Role-Based Access Control
  • Admin Privileges
  • Account Blocking & Unblocking

Academic Resource Management

  • Upload Notes
  • Download Notes
  • Secure File Validation
  • File Preview
  • Notes Approval Workflow
  • Personal Notes Dashboard

Community System

  • Academic Communities
  • Discussion Threads
  • Comments
  • Thread Reactions
  • Comment Reactions
  • Community Management

Administration

  • Admin Dashboard
  • User Management
  • Notes Moderation
  • Community Management
  • Reports Management
  • Audit Logs
  • Contact Messages Review

Profile System

  • Profile Management
  • Profile Image Support
  • Account Updates

Security

  • CSRF Protection
  • Session Fingerprinting
  • Input Validation
  • Rate Limiting
  • Secure File Uploads
  • Content Security Policy (CSP)
  • Security Headers
  • Audit Logging

User Experience

  • Responsive Design
  • Bootstrap 5 UI
  • Dark Mode Support
  • Mobile Friendly Interface

Screenshots

Home Page

Home Page

Login

Login

User Dashboard

User Dashboard

Notes Repository

Notes Repository

Community Discussions

Community Discussions

Thread View

Thread View

Admin Dashboard

Admin Dashboard

User Management

User Management

Notes Moderation

Notes Moderation


Technology Stack

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

Architecture

Acadelyx follows a layered Custom MVC Architecture.

Client Request
      │
      ▼
 Router
      │
      ▼
 Controller
      │
      ▼
 Service Layer
      │
      ▼
 Model Layer
      │
      ▼
 MySQL Database

Layers

Layer Responsibility
Controllers Handle HTTP requests
Services Business logic
Models Database interaction
Middleware Security & authorization
Helpers Utility functions
Views Presentation layer

Project Structure

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 Explanation

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

Database Setup

Create a MySQL database:

CREATE DATABASE acadelyx;

Import:

database/acadelyx.sql

using phpMyAdmin or MySQL command line.


Installation

Clone Repository

git clone https://github.com/Hrishit-Patil/Acadelyx.git

Move Project

Place the project inside:

xampp/htdocs/

Configure Environment

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/uploads

Running on XAMPP

Start Services

Start:

  • Apache
  • MySQL

from XAMPP Control Panel.

Open Browser

http://localhost/acadelyx

Usage

Guest Users

  • Browse resources
  • Browse communities
  • View discussions

Registered Users

  • Upload notes
  • Download approved notes
  • Participate in discussions
  • Comment on threads
  • Like and dislike content
  • Report inappropriate content
  • Manage profile

Administrators

  • Manage users
  • Approve notes
  • Manage communities
  • Resolve reports
  • Review audit logs
  • View contact messages

User Roles

Role Permissions
Guest Read-only access
User Upload and participate
Admin Full platform management

Security Features

  • 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

License

This project is licensed under the MIT License.


Author

Hrishit Patil

About

Acadelyx is a production-ready Academic Resource Hub built with a custom PHP MVC architecture featuring authentication, role-based access control, note sharing, community discussions, moderation tools, reporting, audit logs, and dark mode support.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages