All Projects → bolt → Core

bolt / Core

Licence: mit
🧿 Bolt 4 core

Projects that are alternatives of or similar to Core

Flextype
Hybrid Content Management System with the freedom of a headless CMS and with the full functionality of a traditional CMS
Stars: ✭ 436 (+79.42%)
Mutual labels:  api, cms, twig, doctrine, headless
Grav
Modern, Crazy Fast, Ridiculously Easy and Amazingly Powerful Flat-File CMS powered by PHP, Markdown, Twig, and Symfony
Stars: ✭ 13,067 (+5277.37%)
Mutual labels:  cms, twig, doctrine, symfony
Core
Zikula Core Framework
Stars: ✭ 213 (-12.35%)
Mutual labels:  cms, twig, doctrine, symfony
Idea Php Symfony2 Plugin
IntelliJ IDEA / PhpStorm Symfony Plugin
Stars: ✭ 797 (+227.98%)
Mutual labels:  twig, doctrine, symfony
Bolt
Bolt is a simple CMS written in PHP. It is based on Silex and Symfony components, uses Twig and either SQLite, MySQL or PostgreSQL.
Stars: ✭ 4,136 (+1602.06%)
Mutual labels:  cms, twig, symfony
App
Directus Admin Application — An Intuitive WebApp for Managing Database Content
Stars: ✭ 464 (+90.95%)
Mutual labels:  api, cms, headless
Forkcms
Fork is an easy to use open source CMS using Symfony Components.
Stars: ✭ 1,112 (+357.61%)
Mutual labels:  cms, doctrine, symfony
Tensei
🚀 Content management and distribution with a touch of elegance.
Stars: ✭ 217 (-10.7%)
Mutual labels:  api, cms, headless
Next
Directus is a real-time API and App dashboard for managing SQL database content. 🐰
Stars: ✭ 111 (-54.32%)
Mutual labels:  api, cms, headless
Unite Cms
Really flexible headless CMS, built on top of Symfony and GraphQL.
Stars: ✭ 242 (-0.41%)
Mutual labels:  cms, symfony, headless
Symfony Demo App
A Symfony demo application with basic user management
Stars: ✭ 122 (-49.79%)
Mutual labels:  twig, doctrine, symfony
Fossdroid Core
Fossdroid Core is a web frontend of F-Droid: an alternative software repository comprising only free, open source software for Android. This repo is the open source version of fossdroid.com.
Stars: ✭ 329 (+35.39%)
Mutual labels:  twig, doctrine, symfony
Api
A high-performance RESTful API layer designed in support of API-first development and COPE. Connects your content to the world
Stars: ✭ 180 (-25.93%)
Mutual labels:  api, cms, headless
Contentjet Ui
Headless API-first content management system
Stars: ✭ 42 (-82.72%)
Mutual labels:  api, cms, headless
Kimai2
Kimai v2 is a web-based multiuser time-tracking application. Free for everyone: freelancers, agencies, companies, organizations - all can track their times, generate invoices and more. SaaS version available at https://www.kimai.cloud
Stars: ✭ 1,216 (+400.41%)
Mutual labels:  twig, doctrine, symfony
Directus
Open-Source Data Platform 🐰 — Directus wraps any SQL database with a real-time GraphQL+REST API and an intuitive app for non-technical users.
Stars: ✭ 13,190 (+5327.98%)
Mutual labels:  api, cms, headless
Msgphp
Reusable domain layers. Shipped with industry standard infrastructure.
Stars: ✭ 182 (-25.1%)
Mutual labels:  twig, doctrine, symfony
Backbee Php
the next generation CMS built on top of Symfony and Doctrine components. Give us a star to support our project :)
Stars: ✭ 192 (-20.99%)
Mutual labels:  cms, symfony
Storyblok
You found an issue with one of our products? - submit it here as an issue!
Stars: ✭ 206 (-15.23%)
Mutual labels:  cms, headless
Sanity
The Sanity Studio – Collaborate in real-time on structured content
Stars: ✭ 3,007 (+1137.45%)
Mutual labels:  cms, headless

Bolt 4 - stable

Bolt CMS is an open source, adaptable platform for building and running modern websites. Built on PHP, Symfony and more. Read the site for more info.

To check out Bolt and set up your first Bolt installation, read Installing Bolt 4.


This repository should be used to work on Bolt. Not with Bolt. If you want to check out Bolt, the composer create-project method is recommended. See here: https://github.com/bolt/project/ .


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

-- Hatebreed - Destroy Everything

Progress

Follow the progress on the development of Bolt 4, at these locations

To set up a running development environment of Bolt 4 please perform the following steps 1 to 4:

1 Install

To install a development version of Bolt 4:

  • Check out this git repository
  • Then run:
echo "\n\nAre you sure you shouldn't use https://docs.bolt.cm/installation instead?\n\n"
sleep 5
composer install
npm install && npm run build

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

If you already have Bolt 4 installed and need to update dependencies run:

composer update

Or install with Docker

To install a development version of Bolt 4 with Docker:

  • Check out the git repo
  • Then run:
echo "\n\nAre you sure you shouldn't use https://docs.bolt.cm/installation instead?\n\n"
sleep 5
make docker-install

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

When installed with Docker, 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.

2 Set up Database

  • Configure the database connection in .env or stick with the default SQLite, which should work out of the box.
  • Then run:
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.

Note: if you're using SQLite, ensure that var/db/ is readable and writable to you, as well as to the webserver users. The same applies to the file var/data/bolt.sqlite if it already exists.

3 Re-set the Database

This is a Bolt prototype in flux, so stuff can break, and you might want to reset the database to the "factory settings". To re-set a database to the latest, with fresh dummy-content run the following:

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.

4 How to build assets

To set up initially, run npm install to get the required dependencies / node_modules. Alternatively give the path to the python executable (npm install --python="/usr/local/bin/python3.7") Then:

  • Prepare directory structure mkdir -p node_modules/node-sass/vendor
  • Rebuild npm environment for current OS npm rebuild node-sass
  • Run npm run start (alternatively npm run start --python="/usr/local/bin/python3.7")

See the other options by running npm run. (Note: on testing remotely, assets can be compiled into public/assets by simply npm run-script build)

5 Run the prototype

  • Using the Symfony CLI tool, just run symfony server:start.

  • Alternatively, run bin/console server:start (if running bin/console server:startdoes not work because you don't have the pcntl extension, run bin/console server:run)

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

Code Style checking / 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): Behat/Mink

To run PHP unit tests:

make test

To run E2E tests:

make behat-js

Read more about running and creating tests on the e2e tests page.

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

Development

The ongoing Bolt development takes place under the care of:

Sponsors:


Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].