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 ="article" = ="preview"/>
Or using his entity type & id :
import 'View' from 'ui/View';// ... <View.article =/> <View.article.preview =/> <View.article = ="preview"/>
here
First draft doc :Give a try ?
- Using Docker
To start the Caipi Docker Image (using the last caipi npm).
docker pull caipi/currentdocker 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
- Using [npm install](./doc/Setup.md)
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...