Skip to content
πŸ€ Bolt 4 prototype
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Update .github/github_labels.json Oct 23, 2018
assets Ninja-fixing `z-index` clashes May 16, 2019
bin Testing env with 1 simple test Jan 4, 2019
config merge master Apr 21, 2019
docker Enable Blackfire performance testing on Docker Jan 25, 2019
public Show Relations in frontend Apr 28, 2019
src Merge pull request #428 from bolt/feature/make-weather-widget-work May 16, 2019
templates
tests Merge pull request #428 from bolt/feature/make-weather-widget-work May 16, 2019
translations Update translations readme Apr 13, 2019
var fix gitignore test reports Feb 14, 2019
.babelrc Fix babel Nov 10, 2018
.editorconfig Namespace App -> Bolt Sep 10, 2018
.env.dist Working on translations Jan 30, 2019
.eslintrc.js Frontend app code clean-up Feb 1, 2019
.gitignore Periodical NPM cleanup Apr 19, 2019
.phpspec.yml Examples how to write Unit tests with 4 different ways Jan 8, 2019
.prettierrc Frontend app code clean-up Feb 1, 2019
.stylelintrc Frontend app code clean-up Feb 1, 2019
.travis.yml Clarify pinning of PHP 7.1.18 in Travis.yml Apr 19, 2019
CONTRIBUTING.md Spring cleaning Sep 29, 2018
LICENSE Update year in LICENSE Nov 13, 2018
Makefile Poking at phpspec tests with a stick until they pass May 7, 2019
README.md Update README.md May 14, 2019
behat.yml Fields API Apr 18, 2019
composer.json Fields API Apr 18, 2019
docker-compose.yml relations: fix tests Feb 18, 2019
easy-coding-standard.yml Move Snippet to Widget\Injector Apr 21, 2019
package.json Ninja-fixing `z-index` clashes May 16, 2019
phpstan.neon [WIP] Related content Feb 18, 2019
phpunit.xml.dist Changes in Widgets Apr 21, 2019
postcss.config.js added New Encore version Nov 6, 2018
symfony.lock Update translation features and composer dependencies Apr 13, 2019
webpack.config.js Periodical NPM cleanup Apr 19, 2019

README.md

Bolt 4.0.0 prototype

Cleanse this world with flame End this, cleanse this Rebuild and start again Obliterate what makes us weak

-- Hatebreed - Destroy Everything

Progress towards alpha / beta

Follow the progress on Bolt 4, at the following locations

Install

To install Bolt 4 (for now):

  • Check out the git repo
  • Then:
composer install
npm install && npm run build

Alternatively, run make install, on a UNIX-like system.

It's on the roadmap for Beta 1 to provide a composer create-project install.

Use with Docker

To install Bolt 4 with Docker (for now, on a UNIX-like system):

  • Check out the git repo
  • Then:
make docker-install

Actually, just add docker- prefix to any Make command and that's it!

In your browser, go to http://0.0.0.0:8088/ for the frontend, and to http://0.0.0.0:8088/bolt for the Admin Panel.

Set up Database

  • Configure the database connection in .env. Or stick with the default SQLite. It ought to work out of the box.
  • Then:
bin/console doctrine:database:create
bin/console doctrine:schema:create
bin/console doctrine:fixtures:load -n

Alternatively, run make db-create, on a UNIX-like system.

Re-set the Database

This is a prototype in flux. Shit will break, and you might want to reset it to the "factory settings". To Re-set a database to the latest, with fresh dummy-content use this:

bin/console doctrine:schema:drop --force
bin/console doctrine:schema:create
bin/console doctrine:fixtures:load -n

Alternatively, run make db-reset, on a UNIX-like system.

Run the prototype

  • Run bin/console server:start

In your browser, go to http://127.0.0.1:8000/ for the frontend, and to http://127.0.0.1:8000/bolt for the Admin Panel.

You can log on, using the default user & pass:

  • user: admin
  • pass: admin%1

Build assets

To set up initially, run npm install to get the required dependencies / node_modules. Then:

  • Run npm run start

See the other options by running npm run.

Code Style / Static Analysis

Run the following commands with make, to perform Code Style checking and automatic fixing:

  • make cscheck: Run ECS and PHPStan
  • make csfix: Run ECS, perform automatic fixes and run PHPStan

On windows, you can run the commands separately:

vendor/bin/ecs.bat check src
vendor/bin/ecs.bat check src --fix
vendor/bin/phpstan.bat analyse -c phpstan.neon src

Testing

Bolt uses several testing frameworks for different test layers:

  • unit: PHPSpec, PHPUnit, Jest
  • integration (of Symfony services): PHPUnit with KernelTestCase
  • functional (API Contracts): Behat
  • acceptance (UI, end-to-end): Kakunin

To run PHP unit tests:

make test

To run JS unit tests:

npm test

To run E2E tests:

make e2e

Fixing IDE issues

  • PHPStorm does not see @bolt Twig namespace.

    The namespace needs to be added manually in Twig Plugin settings, pointing to templates folder.

Translations

These are the translations used in Bolt. We rely on the community to expand on new translations, and keep them up to date. If you wish to participate, read the instructions here.

Several translation-related Console commands are available:

  • bin/console translation:download - Download translations from Loco (replaces all local ones)
  • bin/console translation:sync bolt down - Download translations from Loco (replaces local changes if there is a conflict)
  • bin/console translation:sync bolt up - Send updated translations to Loco
You can’t perform that action at this time.