0.5.7-beta-2 • Published 8 years ago

caipi v0.5.7-beta-2

Weekly downloads
15
License
AGPL-3.0
Repository
github
Last release
8 years ago

Caipi - wip

npm version Deps Gitter

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 ?

paypal

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...
app-module-pathautoprefixer-loaderbabel-corebabel-loaderbabel-plugin-add-module-exportsbabel-preset-es2015babel-preset-reactbabel-preset-stage-0babel-preset-stage-1body-parserbootstrapcaipi-slideshowcommandercompressionconnect-rediscookie-parsercopy-webpack-plugincorscss-loaderdateformatdebouncedebugdebug-loggerdeepmergees5-shimes6-promiseexpressexpress-http-proxyexpress-loggerexpress-sessionexpress-socket.io-sessionextract-text-webpack-pluginfile-loaderfs-walkgmgruntgrunt-contrib-cleangrunt-contrib-compressgrunt-contrib-connectgrunt-contrib-copygrunt-executegrunt-karmagrunt-mongo-backupgrunt-mongoimportgrunt-opengrunt-shellgrunt-webpackhistoryhttp-authis-botis-thereisarrayisfunctionisnumberisobjectisstringjshint-loaderjson-loaderjsoneditorjsx-loaderjsxhint-loaderkarmalessless-loaderload-grunt-taskslz-stringmaterial-colorsmergemime-typesmkdirpmongo-query-filtermongodbmorganhumpsmulternode-cachenode-ckeditornode-sassnode-uuidnull-loaderpassportpassport-http-bearerpassport-localpathpath-chunk-webpack-pluginpoint-at-lengthquery-stringreactreact-addons-clone-with-propsreact-anything-sortablereact-bootstrapreact-bootstrap-datetimepickerreact-colorreact-document-titlereact-domreact-dropzone-componentreact-gmapsreact-hot-loaderreact-input-sliderreact-jsonreact-notification-systemreact-placereact-routerreact-rubaxa-sortablereact-timereact-toggleredisrequestsass-loadersha.jsshortidsocket.iosocket.io-clientstrip-json-commentsstrip-json-comments-loaderstyle-loadersuperagenttaskflowstransfer-webpack-pluginurl-loaderurl-parsevhostvirtual-module-webpack-pluginwalkwebpackwebpack-closure-compilerwebpack-combine-loaderswebpack-cordova-pluginwebpack-dev-serverwebpack-hot-middlewarewebpack-split-by-pathwebpack-visualizer-plugin
0.5.7-beta-2

8 years ago

0.5.7-beta-1

8 years ago

0.5.7-beta-0

8 years ago

0.5.6-beta-1

8 years ago

0.5.6-beta-0

8 years ago

0.5.5-beta-2

8 years ago

0.5.5-beta-1

8 years ago

0.5.5-beta-0

8 years ago

0.5.4-beta-4

8 years ago

0.5.4-beta-2

8 years ago

0.5.4-beta-1

8 years ago

0.5.3-beta-5

8 years ago

0.5.3-beta-4

8 years ago

0.5.3-beta-3

8 years ago

0.5.3-beta-2

8 years ago

0.5.3-beta-1

8 years ago

0.5.1-beta-0

8 years ago

0.5.0-beta-3

8 years ago

0.5.0-beta-2

8 years ago

0.5.0-beta-0

8 years ago

0.5.0-alpha-0

8 years ago

0.4.3

8 years ago

0.4.2

8 years ago

0.4.1

8 years ago

0.4.0

8 years ago

0.3.9

8 years ago

0.3.8

8 years ago

0.3.7

8 years ago

0.3.6

8 years ago

0.3.5

8 years ago

0.3.4

8 years ago

0.3.3

8 years ago