4klift is a set of PHP components for developing highly available, redundant and scalable web sites or services on top of Apache Cassandra.
Cassandra makes 4klift well suited for server side applications requiring greater than 99.99% service availability while also being able to withstand up to millions of read and write operations per second.
This framework of components can be used together or individually. Many components may be used individually in a variety of other frameworks, including Symfony, Silex, Laraval and Drupal.
We are in the process of preparing some of our libraries for open source. This development VM is also a work-in-progress and may result in additional packages installed on provision and eventually a new base box with many of the provisioned requirements pre-installed. However, this remains a useful VM for high performance web development.
We target software that can run on CentOS 6.7. 4klift is required to run on a wide range of enterprise systems that may be venerable in internet years, but very stable. However, these are simply minimal requirements; every effort is taken to ensure 4klift's ability to run on modern distributions.
To use the latest dev version, use the dev-master branch.
Component | Repository |
---|---|
API: Annotate existing controllers to create a REST API. | |
CEF: Cassandra Entity Framework for data management with models and a query builder. | |
CFG: Configuration management. | |
CMS: Content management system built to utilize CEF / Cassandra. |
4klift requires Vagrant and VirtualBox. This development virtual machine works on Mac, Windows and most Linux variants. Install for the appropriate platform:
Provisioning the VM will require the vagrant-vbguest plugin.
vagrant plugin install vagrant-vbguest
If you have a Mac, you can use Homebrew to install.
If you do not have Homebrew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Install Virtualbox and Vagrant with brew
:
brew cask install virtualbox
brew cask install vagrant
Navigate to or create a project directory. Run:
composer create-project -s dev deasilworks/4klift 4klift dev-master
This will clone the project and create a 4klift directory pointing to the dev-master branch. CD into the directory and fire up vagrant:
cd 4klift
vagrant up
vagrant ssh
This will load all composer dependencies. Answer yes to the "Do you want to remove the existing VCS (.git, .svn..) history?" prompt.
When running, browse to http://localhost:8080
.
Or, add the following line to your workstation's hosts file:
192.168.222.11 4klift.vm.deasil.works
... and browse to http://4klift.vm.deasil.works
.
The 4klift development VM currently consists of the following packages:
- CentOS 6.7
- java-1.8.0-openjdk
- Apache Cassandra 3.9.0 (CQL spec 3.4.2) (datastax-ddc)
- cqlsh 5.0.1
- NGINX 1.10.2
- PHP 5.6.31 / php-fpm
- Composer >=1.4.2
- PHPUnit 5.7.21
- NodeJS 6.11.1
- npm 3.10.10
- Sass 3.4.25
- Bower 1.8.0
- Yarn 0.27.5
- git 1.7.1
All updates for each release may be reviewed in the changelog.
If you'd like to contribute to the 4klift project, create component libraries, etc., you can fork and clone the project.
4klift and its components attempt to comply with PSR-1, PSR-2, and PSR-4. We welcome pull requests fixing any violations.
MIT