0.5.7-beta-0 • Published 9 years ago

caipi v0.5.7-beta-0

Weekly downloads
15
License
AGPL-3
Repository
github
Last release
9 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...
alloyeditorapp-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-authhumpsimmutableis-botis-thereisarrayisfunctionisnumberisobjectisstringjshint-loaderjson-loaderjsoneditorjsx-loaderjsxhint-loaderkarmalessless-loaderload-grunt-taskslodashlz-stringmaterial-colorsmergemime-typesmkdirpmongo-query-filtermongodbmorganmulternode-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-tinymcereact-toggleredisrequestsass-loadersha.jsshortidsocket.iosocket.io-clientstrip-json-commentsstrip-json-comments-loaderstyle-loadersuperagenttaskflowstransfer-webpack-plugintwitter-texturl-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

9 years ago

0.5.7-beta-1

9 years ago

0.5.7-beta-0

9 years ago

0.5.6-beta-1

9 years ago

0.5.6-beta-0

9 years ago

0.5.5-beta-2

9 years ago

0.5.5-beta-1

9 years ago

0.5.5-beta-0

9 years ago

0.5.4-beta-4

9 years ago

0.5.4-beta-2

9 years ago

0.5.4-beta-1

9 years ago

0.5.3-beta-5

9 years ago

0.5.3-beta-4

9 years ago

0.5.3-beta-3

9 years ago

0.5.3-beta-2

9 years ago

0.5.3-beta-1

9 years ago

0.5.1-beta-0

9 years ago

0.5.0-beta-3

10 years ago

0.5.0-beta-2

10 years ago

0.5.0-beta-0

10 years ago

0.5.0-alpha-0

10 years ago

0.4.3

10 years ago

0.4.2

10 years ago

0.4.1

10 years ago

0.4.0

10 years ago

0.3.9

10 years ago

0.3.8

10 years ago

0.3.7

10 years ago

0.3.6

10 years ago

0.3.5

10 years ago

0.3.4

10 years ago

0.3.3

10 years ago