Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/krazzer/kikcms
CMS and high level framework created with Phalcon framework
https://github.com/krazzer/kikcms
Last synced: 3 months ago
JSON representation
CMS and high level framework created with Phalcon framework
- Host: GitHub
- URL: https://github.com/krazzer/kikcms
- Owner: krazzer
- License: mit
- Created: 2019-05-29T13:46:26.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-07-30T11:35:16.000Z (3 months ago)
- Last Synced: 2024-07-30T14:39:11.088Z (3 months ago)
- Language: PHP
- Homepage: https://kikcms.com
- Size: 5.2 MB
- Stars: 56
- Watchers: 9
- Forks: 12
- Open Issues: 6
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
- awesome-phalcon - KikCMS - CMS built on Phalcon Framework (CMS & Blogs)
README
# KikCMS
[![Tests](https://github.com/krazzer/kikcms/workflows/Tests/badge.svg?branch=master)](https://github.com/krazzer/kikcms/actions?query=workflow%3ATests)
[![codecov](https://codecov.io/gh/krazzer/kikcms/branch/master/graph/badge.svg)](https://codecov.io/gh/krazzer/kikcms)This video will show you the general UX used for the KikCMS and DataTables created inside the CMS.
[![KikCMS UX overview](https://i.ytimg.com/vi/QC54n2KOSfs/maxresdefault.jpg)](https://www.youtube.com/watch?v=QC54n2KOSfs "KikCMS UX overview")
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](https://phalconphp.com/).
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 imagesKikCMS 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
1. 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`
2. If you haven't already, install [composer](https://getcomposer.org/doc/00-intro.md#installation-linux-unix-macos) and make sure the `composer` command works.
3. Run `composer install`
4. Create symlink for cms assets `ln -s ../vendor/kiksaus/kikcms/resources public_html/cmsassets`### Docker
1. Install Docker: https://www.docker.com/get-started
2. Start Docker, and make sure it is running
3. Make sure MySQL and Log dirs are created:
`mkdir ~/.docker-kikdev && mkdir ~/.docker-kikdev/mysql && mkdir ~/.docker-kikdev/logs`4. and a network is started: `docker network create kikdev`
5. Create MySQL and Mailhog containers, replace `` with your desired password: `PASS= docker-compose -f vendor/kiksaus/kikcms/docker/docker-compose-services.yml up -d`6. Create app container, replacing `` with desired password again, and `` with the desired port (e.g. 9001), and `` with the name of your project:
`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:
```1. Create a database
2. Now run the sql from `install.sql` which came with your boilerplate code. You can remove this file afterwards.
3. 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](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](https://localhost:9001/cms) to login (use password lost to activate your account)
# How to's
- [Pagination](resources/readme/pagination.md)