⫹⫺ PLATFORM is a multisite and multilingual compatibility web application based on Symfony PHP Framework. It's ideal for managing and growing any entity (individual, business, organization, etc.) with online solutions.
Solutions:
- website
- webshop
- newsletter
- task manager
- Apache && / || nginx
- Composer
- npm
- PHP 8.4
- SQL
Backend has a fix template with light and dark mode. Frontend has multiple templates to choose from. You can change the template in the settings.
- α Alpha: pure empty template
- β Beta: coming soon / under construction / working on template
- γ Gamma: basic template with header and footer
- δ Delta: ideal for events and conferences
- ε Epsilon: ideal for webshop
- ζ Zeta: advanced template with sidebar and widgets, ideal for CV
- η Eta
- θ Theta
- ι Iota
- κ Kappa
- λ Lambda
- μ Mu
- ν Nu
- ξ Xi
- ο Omicron
- π Pi
- ρ Rho
- σ Sigma
- τ Tau
- υ Upsilon
- φ Phi
- χ Chi
- ψ Psi
- ω Omega
# update Composer packages
composer update
# update npm packages
npm update
# build assets
npm run build
# check for entity / database changes
php bin/console doctrine:migrations:diff
# apply database migrations
php bin/console doctrine:migrations:migrate
# verify Doctrine mappings
php bin/console doctrine:schema:validate -v
php bin/console doctrine:mapping:info
# clear cache
php bin/console cache:clearLocalhost develop simple command line:
composer update; npm update; composer dump-autoload -o; php bin/console cache:clear;# clone (or download) the repository
git clone git@github.com:harkalygergo/platform.git
# install Composer packages
composer install --no-dev --optimize-autoloader
# install npm packages
npm install
# build assets
npm run build
# create database
php bin/console doctrine:database:create
# apply database migrations
php bin/console doctrine:migrations:migrate --no-interaction
# verify Doctrine mappings
php bin/console doctrine:schema:validate
php bin/console doctrine:mapping:info
# clear cache
php bin/console cache:clear
# set proper permissions
chown -R $(stat -c '%U:%G' ..) .I. Setup basics
# create .env.local file based on .env
cp .env .env.local
# set database URL in .env.local
# DATABASE_URL="mysql://db_user:db_password@
php bin/console messenger:consume async
# run the Symfony server
symfony server:start
# set cron jobs to run commands, like update websites
php bin/console app:website:deploy [WEBSITE_ID]II. Setup server functions
# Create a systemd service for Symfony Messenger
sudo nano /etc/systemd/system/symfony-messenger.service
##########################
# ADD CODE BELOW CHANGING [USER] AND [DOMAIN]
[Unit]
Description=Symfony Messenger Worker
After=network.target
[Service]
User=www-data
WorkingDirectory=/home/[USER]/web/[DOMAIN.TLD]/public_html
ExecStart=/usr/bin/php bin/console messenger:consume async --memory-limit=256M --time-limit=3600
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
##########################
# ENABLE AND RESTART IT
sudo systemctl daemon-reload
sudo systemctl enable symfony-messenger
sudo systemctl start symfony-messengerRun cleanup command to remove old events and newsletters:
php bin/console app:event:cleanup# pull the latest changes from the repository
git pull origin main
# update Composer packages
composer update --no-dev --optimize-autoloader
# update npm packages
npm update
# build assets
npm run build
# apply database migrations || unattended mode: php bin/console doctrine:migrations:migrate --no-interaction
php bin/console doctrine:migrations:migrate
# verify Doctrine mappings
php bin/console doctrine:schema:validate
php bin/console doctrine:mapping:info
# clear cache
php bin/console cache:clear
# set proper permissions
chown -R $(stat -c '%U:%G' ..) .
# finish current message, systemd automatically restarts it with new code
php bin/console messenger:stop-workers
# short deploy one line command:
git status; git pull; php bin/console cache:clear; chown -R $(stat -c '%U:%G' ..) .;
# all the steps with one line command:
git status; git pull; composer update; npm update; composer dump-autoload -o; php bin/console doctrine:migrations:migrate; php bin/console doctrine:schema:validate; php bin/console doctrine:mapping:info; php bin/console cache:clear; chown -R $(stat -c '%U:%G' ..) .; php bin/console messenger:stop-workers; git status;# check Symfony Messenger status
systemctl status symfony-messenger
# check Symfony Messenger logs
journalctl -u symfony-messenger -f- Bootstrap: https://getbootstrap.com
- Saferpay: https://novopayment.hu/ecom/#saferpay
- Symfony: https://symfony.com
- Twig: https://twig.symfony.com
⫹⫺ PLATFORM made with 💚 in Budapest (Hungary) by Gergő Harkály (@harkalygergo) full-stack web developer (https://www.harkalygergo.hu). All rights reserved!
