Simple Content Management System (CMS) Blog Using Codeigniter with Hierarchical Model View Controller (HMVC) Architectural

Overview

Simple Content Management System (CMS) Blog Using Codeigniter with Hierarchical Model View Controller (HMVC) Architectural

Simple Content Management System (CMS) Blog Using Codeigniter with Hierarchical Model View Controller (HMVC) Architectural

This is my source code training references from Udemy Course by Frank John about build simple Content Management System (CMS) Blog using Codeigniter v.3.x with Hierarchical Model View Controller (HMVC) Architecture.

Tools Used

  • Firefox
  • Xampp
  • HeidiSQL
  • Visual Studio Code
  • Git
  • Composer

Codeigniter Feature Used

  • Migration
  • Extending Core Model
  • Templeate
  • Hierarchical Model View Controller (HMVC)
  • Basic CRUD (Create Read Update Delete)
  • Form Validation
  • Authentication

Third Party Library

  • Bootstrap
  • jQuery

Updates

  • Constants:
  • I added some constants to the file application/config/constants.php to manage the database conection settings
  • Navbar:
  • I updated the navbar because originally the link Add Post was showed when you are noy logged and of course, you can ended trying to add a new post without been a registered user of this web application. Then the Blog controller could be updated to validate that there is a registered user logged in the system before allow to add a new post or any other admin action.
  • Footer:
  • Seeeing the simple footer I just add a couple of link to the Udemy catalog of Codeigniter's courses.
  • Categories:
  • Look like there is no page related to the process of the sidebar that should allow to visitors to get all articles ordered by categories

Security issues

Be carefull with the explanations of this course. In a building process of a quite simple and basic web application like this one, I don't understand how this kind of important security issues were not thinked and more when Frank John as instructor with almost 10 years of experience of webprogramming, should try to made a good plan of the comtent for this kind of courses, not mmatter that should be taken by beginners of this tecnology, because at the end we are teaching bad practices and behaviours.

  • There is no query string validation:
  • If you go to the View Post link (your_url/view_post), Authors page link (your_url/view_author_profile) or Author Post page (you_url/view_authors_posts/) and erase the number asigned to each author and erase it, you should have a 404 page not found error that sadly was not managed by the application. This security issues are pretty basic to be covered as part of a Frontend explanation.
     
    Besides, if you are dealing with a good PHP framework like Codeigniter, that is named as an easy way to learn about MVC, you might use it!. The pretty URL must be a tool to learn for any beginner user, then I recommeded that go and read the URL Helper page of the Codeignuter documentatiom.

References

Last updated

Original tutorial was launched back August, 2019
October 21, 2021
You might also like...
A Concrete CMS package to add interfaces to translate multilingual content. You can translate content manually, or use cloud API.

Concrete CMS add-on: Macareux Content Translator Concrete CMS has powerful features to manage multilingual content by its default. You can add languag

Simple, modular content management system adapted for launch pages and one-page websites

Segmint Segmint is an easy-to-use flat-file landing page framework, allowing quick and efficient prototyping and deployment - perfect for freelancers

:star2: PJ Blog is an open source blog built with Laravel and Vue.js.
:star2: PJ Blog is an open source blog built with Laravel and Vue.js.

🎈 PJ Blog is an open source blog built with Laravel and Vue.js. https://pigjian.com Special thanks to the generous sponsorship by: PJ Blog This is a

Core framework that implements the functionality of the Sulu content management system
Core framework that implements the functionality of the Sulu content management system

Sulu is a highly extensible open-source PHP content management system based on the Symfony framework. Sulu is developed to deliver robust multi-lingua

Monstra is a modern and lightweight Content Management System.
Monstra is a modern and lightweight Content Management System.

Monstra is a modern and lightweight Content Management System.

ExpressionEngine is a mature, flexible, secure, free open-source content management system.

ExpressionEngine is a flexible, feature-rich, free open-source content management platform that empowers hundreds of thousands of individuals and organizations around the world to easily manage their web site.

An advanced yet user-friendly content management system, based on the full stack Symfony framework combined with a whole host of community bundles
An advanced yet user-friendly content management system, based on the full stack Symfony framework combined with a whole host of community bundles

An advanced yet user-friendly content management system, based on the full stack Symfony framework combined with a whole host of community bundles. It provides a full featured, multi-language CMS system with an innovative page and form assembling process, versioning, workflow, translation and media managers and much more.

Mecha is a flat-file content management system for minimalists.
Mecha is a flat-file content management system for minimalists.

Mecha CMS Mecha is a flat-file content management system for minimalists. Front-End The default layout uses only Serif and Mono fonts. Different opera

Feindura - Flat File Content Management System

feindura - Flat File Content Management System Copyright (C) Fabian Vogelsteller [frozeman.de] published under the GNU General Public License version

Owner
Simon Montaño
PHP 10+ years CodeIgniter web development with jQuery + Bootstrap | Shopify | Google Active program certificated | Cousera Project Management certificated
Simon Montaño
Laravel-modulator - Laravel Modulator (HMVC) creating and handling in an easy and simple way.

Laravel Modulator HMVC creating and handling in an easy and simple way. Documentation You can find the detailed documentation here in Laravel Modulato

Pharaonic 7 Aug 7, 2022
Flextype is an open-source Hybrid Content Management System with the freedom of a headless CMS and with the full functionality of a traditional CMS

Flextype is an open-source Hybrid Content Management System with the freedom of a headless CMS and with the full functionality of a traditional CMS. Building this Content Management System, we focused on simplicity. To achieve this, we implemented a simple but powerful API's.

Flextype 524 Dec 30, 2022
Baicloud CMS is a lightweight content management system (CMS) based on PHP and MySQL and running on Linux, windows and other platforms

BaiCloud-cms About BaiCloud-cms is a powerful open source CMS that allows you to create professional websites and scalable web applications. Visit the

null 5 Aug 15, 2022
The repository for Coaster CMS (coastercms.org), a full featured, Laravel based Content Management System

The repository for Coaster CMS (coastercms.org) a Laravel based Content Management System with advanced features and Physical Web integration. Table o

Coaster CMS 392 Dec 23, 2022
Fully CMS - Multi Language Content Management System - Laravel

Fully CMS Laravel 5.1 Content Managment System not stable! Features Laravel 5.1 Bootstrap Authentication Sentinel Ckeditor Bootstrap Code Prettify Fil

Sefa Karagöz 479 Dec 22, 2022
Soosyze CMS is a minimalist content management system in PHP, without database to create and manage your website easily

Soosyze CMS is a content management system without a database. It's easy to create and manage you

Soosyze 41 Jan 6, 2023
A small CMS for SaaS - A tiny content management system

Fervoare CMS A tiny content management system Project created in 2012 and ported to GitHub in 2021. Getting started Assuming you have installed a LAMP

Mark Jivko 3 Oct 1, 2022
Coaster CMS a full featured, Laravel based Content Management System

The repository for Coaster CMS (coastercms.org) a Laravel based Content Management System with advanced features and Physical Web integration. Table o

Coaster CMS 392 Dec 23, 2022
e107 Bootstrap CMS (Content Management System) v2 with PHP, MySQL, HTML5, jQuery and Twitter Bootstrap

e107 is a free and open-source content management system (CMS) which allows you to manage and publish your content online with ease. Developers can save time in building websites and powerful online applications. Users can avoid programming completely! Blogs, websites, intranets – e107 does it all.

e107 Content Management System 298 Dec 17, 2022
Charcoal Content Management System (CMS) Module

Charcoal CMS The CMS Charcoal Module (Content Management System). Provides basic objects to build a website. Notably, Section (or page), News, Event a

Locomotive 44 Sep 12, 2022