Bombolone is a tasty Content Management System for Python based on Flask, MongoDB, AngularJS, Sass and Bootstrap. It's designed to be a simple, flexible toolset for projects of any size.
Based from the Python and Angular implementation of Opentaste.co.
Before starting check if you have all you need.
# Install Homebrew
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
# Install MongoDB
brew install mongodb
# Install Virtualenv
sudo pip install virtualenvImportant, if you use a Mac OSX please install the commandline tools manually from Apple's Developer site. developer.apple.com/downloads/…
Just for running a new app let's follow these 6 steps.
# Clone the latest stable version in your new web app folder
git clone --branch 0.3.3 https://github.com/Opentaste/bombolone.git new_app && cd new_app
# Run Mongodb
sudo mongod
# Create your own environment from the new_app folder
virtualenv venv && . venv/bin/activate
# Install libraries
python setup.py install && cd bombolone
# Init Bombolone Mongodb
bombolone bake
# Run Bombolone
bombolone serveRegistered users are:
- Admin with username 'admin' and password 'admin123'
- User with username 'user' and password 'user123'
Sometimes you simply don’t need to use all the features of a CMS. Bombolone lets you have a good core, with five modules are essential for almost all web applications.
You can control them from the administration panel, and each has different tools to edit, create or delete. It's important to note that beginning the application has two types of users: administrators and users. Administrator can do everything. Users can only edit content and other little things, but configurable to allow multiple levels of access depending on rank.
Allows user administration:
- Administrators : can create, modify or delete users.
- Users : can only read the account list by default.
The rank module allows you to see what ranks are available.
Allows you to quickly create dynamic and static pages.
- Administrators : can create, edit, modify or delete pages.
- Users : can edit any content pages by default.
From here you can decide which languages you want the site to use.
With the HashTable module you can create different hashmap be used inside modules or the site.
- Administrators : can create, edit, modify or delete hash map.
- Users : can edit any content of hash map by default.
Setting up the ruby environment
gem update --system
gem install compass
gem install compass-h5bpIn a new tab with the same path run Compass
compass watchWe use Fabric to provide a basic suite of operations for executing local or remote shell commands, as well as auxiliary functionality such as prompting the running user for input, or aborting execution. If you find trouble to installing Fabric, you can check this page.
pip install fabric
sudo pip install yuicompressorAvailable commands:
Check if is running the MongoDB database
fab check_databaseInit the basic database
fab init_database fab local_backupMinify .js files that have been changed since last run
fab minify fab mongodb_restorefab updatefab write_db_in_configRun python test
python unit_test.py Before run the test, you need install some dependecies. Download and install Node from http://nodejs.org/download/ If you never use Protractor before you can have a quick intro here.
# Install Nvm
curl https://raw.githubusercontent.com/creationix/nvm/v0.11.1/install.sh | bash
# Select Nvm
nvm alias default v0.10.29
# Installing all node packaged modules
npm install
# Install Protractor global
npm install -g protractor
# Install Selenium
webdriver-manager updateRun Unit tests
npm testRun Integration tests not log in
webdriver-manager start
protractor conf.jsRun Integration tests as admin
webdriver-manager start
protractor conf.js --params.admin true --params.login.user 'admin' --params.login.password 'admin123'Python and Javascript Lovers!
The project was created by @zizzamia.
Contributors: @jibbolo, @proudlygeek, @diegor, @danmaccauro, @bernarpa.
The logo was designed by @FakeSamGregory.
- BSD
