• This repository has been archived on 23/Jan/2020
  • Stars
    star
    150
  • Rank 247,323 (Top 5 %)
  • Language
    PHP
  • Created over 12 years ago
  • Updated almost 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

CleverStyle Framework is simple, scalable, fast and secure full-stack PHP framework

Download CleverStyle Framework SensioLabsInsight Scrutinizer Build Status Tests coverage Join the chat at https://gitter.im/nazar-pc/CleverStyle-Framework

CleverStyle Framework

CleverStyle Framework is simple, scalable, fast and secure full-stack PHP framework.

It is free, Open Source and is distributed under Free Public License 1.0.0 / Zero Clause BSD License

https://opensource.org/licenses/FPL-1.0.0

https://tldrlegal.com/license/bsd-0-clause-license

Installation instructions, documentation, video tutorials for developers, help with translations on Transifex.

Key features

  • Components
    • Modules - major component type
    • Blocks - are placed on around the page for displaying additional information
  • Events - ability to capture, respond or even override behavior of different aspects of the system without changing system itself
  • Users, groups and permissions for granular access to functionality
  • Localization and internationalization (both interface and content)
  • CSS, JavaScript and HTML processing with intelligent, high-performance and completely automatic minification, compression and caching
  • HTTP/2 Server Push (via preload) works automatically
  • Visual themes to personalize appearance
  • Multiple Databases and mirrors awareness
  • Multiple static content storages awareness
  • Caching everything that makes sense to put into cache
  • RESTful API and CLI interfaces
  • First-class WebComponents support (Polymer)
  • First-class AMD support (RequireJS)
  • First-class Composer, Bower and NPM support

Philosophy

There are thousands of other CMS and Frameworks, it is true, but this one is different from most of them because of ideas that drives its development.

Small and simple

Really simple.

System provides only essential minimum of abstractions to make things working while leaving freedom for developer. This ensures that system itself is easy to understand, use and develop for.

Standalone

System contains everything necessary inside in order to ease setup and to be independent from external tools services.

No external tools required for system installation and operating. Every essential dependency is bundled with system core to ensure that system works out of the box.

This doesn't mean, however, that system ignores available ecosystem - Composer, Bower and NPM are all supported out of the box and will be seamlessly picked by system when their presence is detected.

Working

Fresh system just works.

Seriously, reasonable defaults allows you to use all system capabilities out of the box with freedom to change almost any aspect of the system when needed.

Performing

Performance is critical.

Providing superior performance of system core is a key for the best possible performance of end product.

Out of the box CleverStyle Framework can render simple web page in just under 2ms. When installing standard Http server module and changing cache to APCu/Memcached you fall under 1ms for generating simple page or API response. All without additional system tweaks.

Convention over configuration

Zero configuration whenever it is possible.

System tries to make all trivial configuration whenever it is possible. This is is essential to make system simple to use, standalone, working out of the box and reaching top performance for free.

Obviously, you always have access to internals if you need to.

Cleanliness

System will track everything created in result of components operating (files, database tables, cache items, etc.).

This means that you can install component, use it for some time and remove completely without any overhead. After removal system will be exactly in the same state as before installation.

This results in constant and predictable performance, efficient storage usage (no forgotten files, cache items, configs and stuff like this) and full control over state of the system.

Components

Some components are developed in parallel with core in this repository

Modules

  • Blockchain payment (payment method using Bitcoin as cryptocurrency and API of blockchain.info)
  • Blogs (simple blogging functionality)
  • Comments (adds comments functionality to other modules)
  • Composer (Composer integration into CleverStyle Framework, allows to specify composer dependencies in meta.json that will be installed automatically)
  • Composer assets (Bower and NPM packages support through Composer)
  • Content (simple content functionality. May be used by other components or stand-alone)
  • Cron (provides GUI for crontab, scheduled tasks)
  • Deferred tasks (Deferred tasks allows other components to create tasks, that can be executed not immediately, but little bit later)
  • Disqus (Integration of Disqus commenting service, adds comments functionality to other modules)
  • Feedback (simple feedback module, sends message to admin's email)
  • Fotorama (integration of Fotorama jQuery gallery into CleverStyle Framework)
  • Http server (Http server based on React, potentially consumes less memory and works much faster that mod-php5 and php-fpm)
  • HybridAuth (integration of HybridAuth library for integration with social networks and other services)
  • Json_ld (simplifies some parts of JSON-LD generation)
  • OAuth2 (provides realization of OAuth 2 authorization protocol (server side))
  • Photo gallery (simple photo gallery module)
  • Polls (provides polls functionality to other modules)
  • Prism (integration of Prism syntax highlighter into CleverStyle Framework)
  • Psr7 (allows initializing system request from Psr7-compatible request and output response to Psr7-compatible response object)
  • Psr15 (allows to process the request as Psr15-compatible middleware without extra manual work)
  • Service Worker cache (uses Service Worker to cache requests to static assets like CSS/JS/HTML/fonts/images to improve subsequent page loads, especially on bad internet connection)
  • Shop (provides simple, but highly extensible and customizable shopping functionality)
  • Static pages (allows to create static pages like About page or pages without interface, for example for site owner verification)
  • Tags (currently contains single trait, is used by other components in order to avoid code duplication)
  • TinyMCE (integration of TinyMCE WYSIWYG Editor for providing simpler content editing)
  • Uploader (provides files uploading functionality to other modules)
  • WebSockets (support for WebSockets connections utilizing React and Ratchet)

Themes

  • DarkEnergy (Dark theme used on CleverStyle.org)

Requirements:

  • Unix-like operating system
  • or Windows (not tested regularly, but should also work, do not use in production)
  • Apache2 with modules:
  • REQUIRED: rewrite, headers
  • OPTIONAL: expires
  • or Nginx (config sample)
  • PHP 7.0+ with libraries:
  • REQUIRED: cURL, XML, mbstring
  • OPTIONAL: APCu, Memcached
  • MySQL 5.6+
  • or MariaDB 10.0.5+
  • or PostgreSQL 9.5+
  • or SQLite 3.7.11+

How to try?

It is possible to try latest git version of CleverStyle Framework without even installing it using Docker, just type in terminal:

$ docker run --rm -p 8888:80 nazarpc/cleverstyle-framework

And go to http://localhost:8888, sign in using login admin and password 1111.

--rm means that container will be removed after stopping (you can stop it with Ctrl+C).

If you want to play with live system - attach volume to container:

$ docker run --rm -p 8888:80 -v /some_dir:/web nazarpc/cleverstyle-framework

Now in /some_dir you'll have source code of CleverStyle Framework from container which you can edit as you like and it will reflect on demo.

More Repositories

1

PickMeUp

Really simple, powerful, customizable and lightweight standalone datepicker
JavaScript
620
star
2

docker-webserver

WebServer (MariaDB, PHP-FPM, Nginx) composed from several separate containers linked together
Shell
291
star
3

noise-c.wasm

rweather/noise-c compiled to WebAssembly using Emscripten and optimized for small size
LiveScript
92
star
4

RTL8814AU

Realtek RTL8814AU USB Wi-Fi driver
C
50
star
5

docker-phpmyadmin

phpMyAdmin as Docker container, based on official image, always latest version
PHP
40
star
6

BananaHTML

BananaHTML - single class that makes HTML generating easier
PHP
39
star
7

solax-local-api-docs

Solax local API docs
38
star
8

webtorrent-dht

This is an example implementation of something that might become WebTorrent DHT
LiveScript
29
star
9

just-backup-btrfs

Script that does just that - creates backups using snapshot of btrfs filesystem. Also it makes rotation of snapshots by removing old ones and keeping as many snapshots as you want.
PHP
27
star
10

blake2.wasm

BLAKE2b and BLAKE2s hash functions compiled to WebAssembly using Emscripten and optimized for small size
LiveScript
27
star
11

spotify-to-vk

Download Spotify music tracks as mp3 through vk.com
PHP
24
star
12

Useful-PHP-Functions

Set of system-independent functions from CleverStyle Framework
PHP
21
star
13

CleverStyle-PhpStorm-theme

Dark theme for PhpStorm
19
star
14

CleverStyle-Music

CleverStyle Music Open Web App. Music player for Firefox OS built using open web technologies.
JavaScript
18
star
15

space-acres

Space Acres is an opinionated unofficial GUI application for farming on Subspace Network
Rust
16
star
16

ronion

Generic anonymous routing protocol framework agnostic to encryption algorithm and transport layer
LiveScript
14
star
17

Flexy-plexy

Ridiculously simple, incredibly powerful grid system
CSS
14
star
18

supercop.wasm

orlp/ed25519 compiled to WebAssembly using Emscripten and optimized for small size
JavaScript
13
star
19

php-markdown-next

PHP Markdown Next parser, based on PHP Markdown Extra and PHP Markdown Extra Extended
PHP
11
star
20

CSTester

IS NOT MAINTAINED ANYMORE, use PHPT tests instead
PHP
9
star
21

vk-photo-saver

Download your photo in vk.com to PC.
Python
9
star
22

stream-slicer

Get slice of any seekable stream
PHP
8
star
23

phpt-tests-runner

Runner for PHPT tests (with few differences comparing to original PHPT format)
PHP
8
star
24

NPW-1.0

Dual SSI EEB motherboards PC case parametrically designed in SolveSpace
HTML
8
star
25

metadata-audio-parser

Library that parse metadata from mp3(ID3v1 and ID3v2 tags)/mp4(aac, m4a, etc.)/ogg audio files
JavaScript
8
star
26

ed25519-to-x25519.wasm

Library for converting Ed25519 signing key pair into X25519/Curve25519 key pair suitable for Diffie-Hellman key exchange
LiveScript
7
star
27

btrfs-sync-subvolumes

This is a pretty naive implementation of replication exact set of subvolumes from one location to another, plays nicely with Just backup btrfs
PHP
7
star
28

docker-php

More feature-complete PHP Docker images based on official images
Shell
7
star
29

es-dht

Generic DHT framework agnostic to command set and transport layer
LiveScript
6
star
30

matx-open-test-bench

Basic test bench for standard Micro ATX motherboard designed for 3D printing without supports
5
star
31

CleverStyle-PhpStorm-codestyle

Codestyle for PhpStorm (PHP, JS, CSS, LESS)
4
star
32

event-listener-primitives

Low-level primitive for building Node.js-like event listeners
Rust
4
star
33

h264-profile-level-id

Rust
3
star
34

side-futures

Send future for execution on the runtime that may be in a different thread
Rust
3
star
35

opir.org

opir.org Source code
PHP
3
star
36

docker-subset-font

Modifies font file to only include characters from specified CSS file
PHP
3
star
37

docker-webserver-apps

Carefully crafted images that are intended to be used with nazarpc/webserver:* family of images
Dockerfile
3
star
38

docker-coturn

Coturn TURN server as Docker image (achived, use official coturn image instead)
Shell
2
star
39

fixed-size-multiplexer

A tiny library for multiplexing data chunks into blocks of fixed size and vice versa
LiveScript
2
star
40

Frontendweekend

CSS
2
star
41

CherryTea.org

This is complete source code of CherryTea.org
PHP
2
star
42

merkle-tree-binary

Set of functions for creating Merkle Tree, proofs and verifying proofs using binary data
TypeScript
2
star
43

css-template-layout

JavaScript (jQuery) implementation of the CSS Template Layout Module
JavaScript
2
star
44

MyBlog

Demo of simple blog module for CleverStyle CMS 0.393 (outdated)
PHP
2
star
45

cherrytea.org-old

PHP
1
star
46

aez.wasm

AEZ cipher compiled to WebAssembly using Emscripten and optimized for small size
LiveScript
1
star
47

unicode-range-splitter

Unicode range splitter for icon fonts
PHP
1
star
48

async-eventer

A tiny library with asynchronous Promise-based implementation of events dispatching and handling
LiveScript
1
star
49

array-map-set

Just like regular Map and Set, but treats different ArrayBufferView's with the same values as equal
LiveScript
1
star
50

registry-demo-chain

Rust
1
star