Skip to content

A modern web application built as a learning and portfolio project, focusing on clean architecture, responsive design, and practical functionality.

License

Notifications You must be signed in to change notification settings

HVzz24/MediaVerse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

MediaVerse Logo

πŸ“° MediaVerse

A Modern News Portal built with PHP CodeIgniter 3

GitHub release GitHub repo size GitHub contributors GitHub last commit GitHub stars GitHub license

MediaVerse

MediaVerse is a modern, fully-featured news portal platform built on PHP CodeIgniter 3, designed for performance, scalability, and flexibility. With a modular architecture, multi-template support, and a customizable theme system, MediaVerse enables developers and content teams to build dynamic, visually consistent online news platforms with ease.

It includes a comprehensive CMS that manages articles, categories, galleries, videos, pages, menus advertisements, comments, and interactive features. The built-in role-based admin panel, granular module permissions, and SEO-optimized routing system make MediaVerse suitable for professional production environmentsβ€”from small editorial teams to large media organizations.

Whether need a clean newspaper layout, a modern magazine style, or a custom–built front-end, MediaVerse provides the tools and structure to build it efficiently.


πŸ“¦ Installation

System Requirements

  • PHP 7+
  • MySQL 5.5 or higher
  • OpenSSL extension (optional)
  • intl extension
  • Apache or Nginx server
  • Composer (optional)

Local Setup (XAMPP)

  1. Install XAMPP (PHP 7+ recommended).
  2. Copy the project into:
    C:\xampp\htdocs\MediaVerse
  3. Start Apache and MySQL.
  4. Open the project in browser:
    http://localhost/MediaVerse/

Database Import

  1. Open phpMyAdmin.
  2. Create a new database:
    mediaverse
  3. Import the SQL dump:
    /database/mediaverse.sql

Configuration Files

1. Base URL

File: application/config/config.php

$config['base_url'] = 'http://localhost/MediaVerse/';

2. Database Credentials

File: application/config/database.php

'username' => 'root',
'password' => '',
'database' => 'mediaverse',

3. Upload Settings

File: application/config/config.php

$config['upload_path'] = './asset/';

Shared Hosting

  1. Upload all project files to your hosting account.
  2. Import the SQL database via your hosting panel (cPanel/Plesk).
  3. Update the base URL, database credentials, and font path (see Troubleshooting).
  4. Ensure .htaccess is supported by your hosting.

VPS / Cloud

  • Install LAMP or LEMP stack.
  • Clone/upload the project.
  • Configure virtual host or Nginx server block.
  • Ensure directory permissions for /asset/ uploads.

XSS & CSRF Protection

  • CodeIgniter’s built-in CSRF token is enabled in config.php.
  • Input filtering prevents basic XSS vectors.
  • Ensure global_xss_filtering remains enabled in production.

πŸ›  Troubleshooting

1. First-Time Admin Login

Run the upgrade script once:

  • Online: http://yourdomain.com/administrator/upgrade
  • Localhost: http://localhost/administrator/upgrade

2. Admin Menu Not Displaying

If the administrator menu appears blank, it is caused by missing JavaScript resources.
The menu JavaScript is hosted online, so when using localhost, your computer must be connected to the internet.

3. Redirect to Home After Login (Localhost Only)

Edit the file XAMPP/php/php.ini and find:

session.auto_start = 0

Change to:

session.auto_start = 1

Restart XAMPP (Apache & MySQL).

4. Security Code / Font Not Loaded (Online Hosting)

Update the font path in config.php:

'font_path' => base_url().'asset/Tahoma.ttf';

πŸ—‚ Backend Menu Structure

1. Dashboard

  • Latest news
  • Pages
  • Agenda overview
  • User overview
  • Recent comments
  • Visitor analytics chart

2. Website Configuration

  • Website identity
  • Menu builder
  • Page management

3. News Management

  • News listing
  • Category & tag management
  • News comments
  • Comment filtering
  • Photo news
  • Photo galleries

4. Video Management

  • Playlists
  • Videos
  • Tags
  • Comments

5. Advertisement Management

  • Top banner ads
  • Bottom banner ads
  • Homepage ads
  • Sidebar ads
  • External link ads

6. Theme & Template Settings

  • Template selection
  • Theme color selection
  • Logo settings

7. Interactive Features

  • Agenda
  • Flash info
  • Polls
  • Download center
  • Contact information
  • Inbox messages

8. User Administration

  • User accounts
  • Role management
  • Module permission controls

πŸ›  Tech Stack

  • PHP 7+
  • CodeIgniter 3
  • MySQL
  • Bootstrap
  • jQuery
  • FontAwesome
  • Composer (optional)

πŸš€πŸ“˜ Usage Guide

Admin Dashboard

Access the administrator panel through:

http://localhost/MediaVerse/administrator
Username: admin
Password: admin

After logging in, you will see the main dashboard, which includes:

  • Latest published news
  • Pages overview
  • Agenda summary
  • Recent comments
  • User activity
  • Visitor analytics chart

Managing Articles

To create or manage news articles:

  1. Navigate to News > All News.
  2. Click Add New Article to create content.
  3. Fill in:
    • Title
    • Category
    • Tags
    • Content (rich editor)
    • SEO fields (meta title & description)
  4. Upload a cover image (JPG/PNG).
  5. Click Publish to make the article visible.

Additional notes:

  • Slug is generated automatically but can be edited manually.
  • Images are stored inside /asset/foto_berita/.
  • Draft mode is available for unfinished articles.

Managing Categories

Categories organize the article structure across the website.

  1. Go to News > Categories.
  2. Click Add Category.
  3. Fill in:
    • Category name
    • Slug
    • Parent category (optional, for subcategories)
  4. Save changes.

Notes:

  • Categories automatically appear on the frontend menu (if enabled).
  • Deleting a category will not delete the articles inside it.

The gallery module allows you to manage photo albums for the website.

  1. Open Gallery > Albums.
  2. Click Create Album.
  3. Enter the album title, description, and cover photo.
  4. After the album is created, open it and click Upload Photos.
  5. Select multiple files (JPG/PNG supported).

Notes:

  • Uploaded images are stored in /asset/img_galeri/.
  • Thumbnails are auto-generated.
  • Photos can be reordered via drag-and-drop (if enabled).

Features

βœ” Frontend

  • Dynamic homepage with featured and highlighted news
  • Category & subcategory support
  • Responsive Bootstrap-based layout
  • SEO-friendly, clean URL routing
  • Image galleries & photo albums
  • RSS feed generation (rss.xml)
  • Pagination & search functionality

βœ” Backend / Admin Panel

  • Full News CRUD management
  • Category & tag management
  • Photo news & photo gallery management
  • Video playlists, videos, tags, and comment moderation
  • User & role-based access management
  • Module permission system
  • Website identity & menu management
  • Template & theme color management (Red, Green, Blue, Orange, Purple, Pink, Tosca, Black)
  • Comment filtering / word censorship system
  • Agenda / event scheduling
  • Polling system
  • File download center
  • Inbox messaging system
  • Advertisement placements (Top, Bottom, Homepage, Sidebar, External Link Ads)
  • Visitor analytics chart
  • Cache & logging system

πŸŽ› Access Levels

MediaVerse uses a structured permission and role-based access control system:

1. Administrator / Developer

  • Full system access
  • Manage users, modules, templates, and system configuration

2. Contributor / Writer

  • Content creation and editorial access
  • Manage articles, categories, media, and related assets

3. Standard User

  • Basic user-level interactions
  • Participate in comments, polls, and agendas
  • No administrative privileges

🧩 Available Modules

Content Modules

  • News
  • News categories
  • News tags
  • News comments
  • Photo news
  • Photo galleries
  • Video list
  • Video playlists
  • Video tags
  • Video comments

Configuration Modules

  • Website identity
  • Website menu builder
  • Static page builder
  • Template management
  • Theme color selection
  • Logo management
  • Word censorship
  • Module management
  • User management

Interaction Modules

  • Agenda / events
  • Flash information
  • Polling system
  • File downloads
  • Contact information
  • Inbox messages

πŸ“ Directory Structure


MediaVerse/
β”œβ”€β”€ application/
β”‚   β”œβ”€β”€ config/          # Application configuration files (base_url, database, routing, etc.)
β”‚   β”œβ”€β”€ controllers/     # All controller files for frontend & backend
β”‚   β”œβ”€β”€ core/            # Custom extended CI core classes
β”‚   β”œβ”€β”€ helpers/         # Custom helper functions
β”‚   β”œβ”€β”€ hooks/           # System hooks 
β”‚   β”œβ”€β”€ language/        # Localization files
β”‚   β”œβ”€β”€ libraries/       # Custom libraries
β”‚   β”œβ”€β”€ logs/            # System log files
β”‚   β”œβ”€β”€ models/          # Database models
β”‚   └── views/           # Frontend & backend view templates
β”‚
β”œβ”€β”€ asset/
β”‚   β”œβ”€β”€ css/             # Stylesheets
β”‚   β”œβ”€β”€ js/              # JavaScript files
β”‚   β”œβ”€β”€ images/          # General images
β”‚   β”œβ”€β”€ foto_berita/     # News images upload folder
β”‚   β”œβ”€β”€ foto_banner/     # Banner/advertisement uploads
β”‚   β”œβ”€β”€ foto_galeri/     # Photo gallery uploads
β”‚   └── video/           # Video thumbnail uploads
β”‚
β”œβ”€β”€ captcha/             # Captcha generator files
β”œβ”€β”€ system/              # CodeIgniter system core files
β”œβ”€β”€ template/            # Template and theme files (3 website template, color themes, layout files, etc.)
β”œβ”€β”€ vendor/              # Composer dependencies 
β”‚
β”œβ”€β”€ contributing.md      # Contribution guidelines
β”œβ”€β”€ composer.json        # Composer configuration file
β”œβ”€β”€ index.php            # Main entry point
└── rss.xml              # RSS feed generator output

πŸ“Έ Showcase

🌐 Frontend Templates

MediaVerse provides three responsive frontend templates, optimized for performance, accessibility, and user engagement. Each template includes multiple layout variations and supports theme color customization.

Template A β€” Modern Default

A clean and structured layout ideal for general news portals.

Default Template

Template B β€” Magazine Style

Designed for multi-category news platforms with dynamic content blocks.

Magazine Template

Template C β€” Minimal Flat

A lightweight template focused on speed and simplicity.

Minimal Template

🎨 Theme Color Variants

Every template includes 9 predefined color themes, allowing full visual customization.

πŸ›  Admin Dashboard

The administrative control panel offers a comprehensive overview of system activity, including analytics, content management, and user operations.

Admin Dashboard
  • Latest news, pages, and user activity
  • Visitor analytics and traffic charts
  • Recent comments and content summaries

πŸ“° News Management

Manage all editorial content with a streamlined interface, including articles, categories, tags, and comments.

News Management
  • News listing with search and filters
  • Category and tag management
  • Comment moderation and keyword filtering
  • Photo news and gallery integration

πŸŽ₯ Video Management

A dedicated module for maintaining video playlists, metadata, tags, and user comments.

Video Management
  • Video playlist organization
  • Tag creation and filtering
  • Comment moderation

Upload, organize, and publish albums with support for high-quality images.

Gallery
  • Album creation and sorting
  • Multi-image upload support
  • Visual content optimization

🧩 User Access Levels

MediaVerse includes a hierarchical access system suitable for multi-author environments.

Access Levels
  • Admin / Developer β€” full system access and configuration
  • Contributor / Writer β€” editorial content access
  • Standard User β€” limited access for general use

πŸ” Module Permission Controls

All user roles can be customized through module-based permission settings.

Module Permissions
  • News, categories, and tags
  • Video modules (playlist, tags, comments)
  • Template and theme customization
  • Polls, interactions, and agenda
  • Advertisements & layout settings

πŸ“¦ System Modules Overview

The admin panel is organized into modular sections, enabling efficient navigation and content control.

Main Menu
  • Dashboard β€” activity summary and analytics
  • Main Menu β€” identity, pages, and site navigation
  • News Module β€” articles, tags, categories, comments
  • Video Module β€” playlists, video management, tags
  • Advertisement Module β€” banner & layout management
  • Templates & Themes β€” visual customization
  • Interactive Elements β€” polls, agenda, downloads
  • User & Role Management β€” access levels and permissions