KikCMS
This video will show you the general UX used for the KikCMS and DataTables created inside the CMS.
Check out the docs at: https://kikcms.com
What is KikCMS and who is it for?
KikCMS is a CMS and high level framework based on the Phalcon framework.
I created it to allow myself to quickly build websites and webapplications without repeating myself, this includes:
- Login to a backend
- Managing an online file database
- Handling multilingual pages and editing content (CMS functionality)
- Handling pages and templates in the frontend (Frontend CMS functionality)
- Creating editable DataTables (enabling CRUD, search, sort with a few lines of code)
- Forms
- Storing forms data DB
- Resizing images
KikCMS is for anyone who wants to create a website or webapplication fast without any constriction to style the frontend, while not having to do much to create a really powerful backend.
I estimate that the framework can be used for any project where your client would pay you between $1.000 and $100.000. In cases lower than 1.000 Wordpress might be a better choice, and in cases above 100.000 a lower-level framework might be a better choice for more flexibility. But who knows, I myself haven't reached the upper limit of it's capabilities yet.
When to use KikCMS:
- You care about performance
- You want the best user experience for your clients
- You want to build your own templates (or use standalone templates)
- You want to be able to build a custom back-end quickly
- You know how to code
When not to use the KikCMS:
- You just want to pick some template
- You don't want to code yourself
Required knowledge
You'll need to know PHP 7.1+, MySQL and HTML. Those are the most important. Twig is used for templates so that might come in handy but is very easy to learn.
Other technologies you don't need to know but might come in handy if you do:
- SCSS (Styling, like CSS but more powerful)
- JavaScript (Frontend development)
- Composer (for loading additional packages)
- Git (Version control)
- Gulp (Concat JS/CSS)
- Docker (For dev enviroment, or even production, though I don't do this myself)
- Phalcon (The framework KikCMS is build upon)
Guide to setting up a new project from scratch
Boilerplate code
- Let's get some boilerplate code, run this in the directory you want your project to be:
git clone https://github.com/krazzer/kikcms-boilerplate.git . && rm -rf ./.git
- If you haven't already, install composer and make sure the
composer
command works. - Run
composer install
- Create symlink for cms assets
ln -s ../vendor/kiksaus/kikcms/resources public_html/cmsassets
Docker
-
Install Docker: https://www.docker.com/get-started
-
Start Docker, and make sure it is running
-
Make sure MySQL and Log dirs are created:
mkdir ~/.docker-kikdev && mkdir ~/.docker-kikdev/mysql && mkdir ~/.docker-kikdev/logs
-
and a network is started:
docker network create kikdev
-
Create MySQL and Mailhog containers, replace
PASS=
docker-compose -f vendor/kiksaus/kikcms/docker/docker-compose-services.yml up -d -
Create app container, replacing
SITE_PORT=
docker-compose -f vendor/kiksaus/kikcms/docker/docker-compose-site.yml -p up -d
Setting up DB
Use your favorite GUI like (SequalPro, Navicat, Workbench or PHPMyAdmin) and connect to the MySQL container with these settings, where
is the same a you used to setup the MySQL container:
Host: localhost
Port: 3306
User: root
Pass:
- Create a database
- Now run the sql from
install.sql
which came with your boilerplate code. You can remove this file afterwards. - Now edit
env/config.ini
and replace[DB-PASS]
and[DB-NAME]
Test run
Now you're good to go! Test if the app is working in the browser: https://localhost:9001 (or another port if you chose to)
CMS
To be able to login to the CMS, make sure you create a user in the cms_user
table, with an e-mail address and role set to developer
.
Now go to https://localhost:9001/cms to login (use password lost to activate your account)