Skip to content

bcrumbs/booben

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
app
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Full-stack web app developing platform

Design, develop, connect data, get source code - all in one place.



Build Status Braincrumbs Slack

Features

  • Design your app without a line of code by dragging-and-dropping components on the canvas
  • Get a markup which is completely identical to what you see in the components tree without any unnecessary inline styles and / or wrappers
  • Bind data with GraphQL
  • Setup actions and write pure functions through the Booben interface
  • Use any components library to build your own App. All you need is to cover this library with metadata. As a default we use Reactackle components library and plain HTML-tags. You may look at the Reactackle's meta for an example.
  • Style components by modifying its props and/or by adding custom css (scss syntax is supported)
  • Download generated code in a single click

Technologies used:

  • React - to power up frontend
  • React Router v4
  • Redux (redux + react-redux) - state management
  • Reselect - redux selectors
  • immutable.js - we store all redux objects in immutable structures (Map, List, Set, Record, ...). Exceptions are those data structures which can't be changed at all or may be changed only completely (ex. metadata).
  • Apollo (apollo-client + react-apollo) - GraphQL client, used only to communicate with project's GraphQL endpoint. Booben itself communicates with its backend by REST API.
  • Styled Components - CSS-in-JS used for styling components
  • Lodash
  • Reactackle - react ui-components library
  • Webpack
  • Babel
  • Eslint - we are now using custom presets but are going to migrate to Prettier.

Docs

Documentation is not complete and translated yet. Contributions are welcome.

Docs in Russian

Prerequisites

You'll need node version 8.6.0 or higher to run dev environment.

Setup

Clone Booben repo

git clone https://github.com/bcrumbs/booben
cd booben

Quick setup

Run bash script from the booben's directory. It will clone blank project for Booben and create config file.

bash bootstrap.sh
node index.js --config projects-config.json

OR

make bootstrap

On Docker:

docker pull braincrumbs/booben
docker run -d --name=booben -p 3000:3000 braincrumbs/booben

OR

docker-compose pull
docker-compose up -d

App will be running on http://localhost:3000/app/blank

Contributing

All contributions are welcomed.

License

Apache 2.0