Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    caipipublic

    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


    - 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 ?

    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...

    Keywords

    none

    install

    npm i caipi

    Downloadslast 7 days

    61

    version

    0.5.7-beta-2

    license

    AGPL-3.0

    repository

    github.com

    last publish

    collaborators

    • avatar