Skip to content
🕹 Vzorový projekt postavený na Wakers CMS 5. Pomocí pár příkazů lze během několika minut zprovoznit kompletní dev-stack běžíci v Dockeru a zahájit vývoj webu.
JavaScript HTML PHP Shell CSS Dockerfile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app
assets
docker
i18n
log
temp
www
.env.example
.gitattributes
.gitignore
Dockerfile
LICENSE
composer.json
composer.lock
docker-compose.example.yml
docker-compose.yml
gulpfile.js
package-lock.json
package.json
readme.md
sc
sc-dump.sh
sc-ssl.sh

readme.md

Wakers CMS 5

CMS založený na Nette 2.5 a PHP 7.3 | https://www.wakers.cz/wakers-cms

O Projektu

Systém byl vyvinut za účelem zrychlení implementace a následné udržitelnosti projektů. Vše bylo rozděleno do vendor modulů - ty jsou verzovány samostatně. Výsledný webový projekt tedy neobsahuje žádné zbytečné kódy a je přehlednější. Dev-stack nového projektu lze připravit během pár minut.

7 základních modulů nahrazuje jiné open-source CMS. Výhoda Wakers CMS spočívá v možnosti využití Nette. Systém lze rozšiřovat o další (vlastní) moduly či komponenty. Lze kompletně upravovat, nahrazovat a konfigurovat jednotlivé části CMS.

Druhou obrovskou výhodou je UI pro správu webu - administrátoři stránku editují téměř tak, jak ji vidí. Nemají k dispozici zbytečné funkce a jsou omezeni, aby zcela nenarušili vizuální podobu a celý smysl webu.

Jako freelanceři se vývojem tohoto CMS snažíme posouvat vpřed. Vše je zatím v alfa verzi - další mantrou je ztransparentnění zdrojových kódů a vytvoření (na sobě) nezávislých modulů.

TODO: Video - Jak implementovat one-page web (na míru) za 15 minut.

Seznam výchozích modulů

  1. Base Module
  2. User Module
  3. Lang Module
  4. Page Module
  5. On-Page Module
  6. Category Module
  7. Structure Module

Instalace systému

0. Závislosti pro spuštění

1. Konfigurace

  1. Vytvoření projektu git clone --depth=1 https://github.com/wakerscz/cms-sandbox.git && rm -rf ./cms-sandbox/.git
  2. Vytvoření ./docker-compose.override.yml (podle ./docker-compose.example.yml)
  3. Vytvoření ./docker/nginx/nginx.conf (podle ./docker/nginx/nginx.example.conf)
  4. Vytvoření .env (podle souboru .env.example)

2. Spuštění

  1. Zastavení všech Docker containerů docker stop $(docker ps -a -q)
  2. Sestavení a spuštění Docker containeru docker-compose up --build --d
  3. Vytvoření databáze wakers_cms_db s kódováním utf8_general_ci na http://localhost:9876 (s: mariadb, u: root, p: <from-dotenv>)
  4. Instalace závislostí ./sc composer i a ./sc npm i
  5. Vygenerování assets ./sc npm run gulp-dev
  6. Vygenerování DB active-record tříd./sc propel model:build
  7. Vytvoření databázových tabulek ./sc propel migration:migrate
  8. Vytvoření jazyku ./sc console wakers:lang-create <lang>
  9. Vytvoření (všech) úvodních stránek ./sc console wakers:homepage-create <defaultLang> [layoutName=home.latte]
  10. Vytvoření admina ./sc console wakers:admin-create <email> <password>

Užitečné příkazy

  • Přehled hl. příkazů: ./sc
  • Dump databáze: ./sc-dump.sh
  • Přepnutí se do Docker containeru: docker exec -it <container_name> bash
  • Spuštění příkazu v containeru: docker-compose exec <service_name> <commands>
  • Kompletní vyčištění dockeru docker system prune --all -f

Deploy

Po zprovoznění aplikace na serveru je potřeba:

  1. Přepsat, případně přidat názvy domén (wakers.cz) v souborech:
    • ./sc-ssl.sh
    • ./docker/nginx/servers/production.conf
  2. Spustit script ./sc-ssl.sh
  3. V souboru ./docker/nginx/nginx.conf změnit include servers/development.conf; na include servers/production.conf;
  4. Restartovat nginx / docker docker-compose restart
You can’t perform that action at this time.