caipi
v0.5.7-beta-2
Published
Caipi reactor - Isomorphic CMS based on ES6+React+webpack+mongo+etc
Downloads
11
Readme
Caipi - wip
What's Caïpi ?
Caipi is an isomorphic, extensible (almost magic) JS stack & CMS.
Very beta minimal demo : caipi-demo.wisewildweb.com ( source )
What's the stack ?
Bundled, configured & among others :
- ReactJS
- Webpack
- MongoDB
- Babel / ES6
- Bootstrap
- SASS
- ...
What's in ?
Out of the box Caipi provide :
- Server side rendering,
- Data preloading
- Basic back office with WYSYWYG text editor, Media upload, Entity references & collections
- Easy rendering of contextual & nested data queries
- REST API
- True project scalability / inheriting / overriding ( thx webpack & ES6 we can require('$super') :) )
- CLI to deploy & run in 1 or 2 shell command (yes you need to checkout :) )
- Automatic project's Dockerfile generation
- Alias management
- Basic (but extensible) auth
- Basic rights levels (anonymous, logged, publisher & admin)
- Webpack pre-configured build profiles for dev, prod, cordova, server & client
- Reduced sources size & deps ( Caipi initial projects start with no deps, they inherits them from the global Caipi npm )
- Simple method to add webServices,
- Distinct Admin build
- Image upload & dynamic resize (GM)
- ...
How it work ?
Using webpack, and mostly the same JS code Caipi package the server and the client side, making most of the datas loading process disappear.
Using a flexible entities definitions system it automatically provide :
- the back office,
- the REST back-end,
- the browser route to list/show the records
- and simple jsx tags
Ex: You can render records anywhere in the jsx using db query :
import 'Each' from 'ui/Each';
// ...
<Each etty="article" query={query} viewMode="preview"/>
Or using his entity type & id :
import 'View' from 'ui/View';
// ...
<View.article id={id_from_somewhere}/>
<View.article.preview id={id_from_somewhere}/>
<View.article id={id_from_somewhere} viewMode="preview"/>
First draft doc : here
Give a try ?
- Using Docker
To start the Caipi Docker Image (using the last caipi npm).
docker pull caipi/current
docker run -it -p 80:80 caipi/current
or from the Caipi root dir
docker build -t caipi/current .
docker run -it -p 80:80 caipi/current
or from the caipi mini demo project https://github.com/MrNice42/caipi-demo-website
What's next ?
Will focus on perf, flexibility and scalability.
License ?
Caipi is free under the AGPL terms.
"Early dragon" / partners Commercial licences are available with updates until v2.0.0
Like it ?
Todo ( come and play ! :) )
Todo for v1.0.0 :
- User management/panels
- Query editor
- Server side hot reload
- Metas management
- Better admin
- Live data update
- Server Multi-process basic management
- Animation management
- Customisable webpacks configs
- https
- sitemap & favicons
- Backup, pull & rebuild services
- Advanced demos & docs
- Tests & code clean
- Bug fixes & optims
- Minors api & rationalisations updates...
Options for v2.0.0 :
- elastic search
- add alloy editor, file drop, etc..
- Others db bindings / plugins
- sexy projects templates
- i18n
- Better record management
- lot of stuff...