Skip to content

Contains some essentials to quick start your symfony project with a ready to use admin environment

Notifications You must be signed in to change notification settings

ganti/symfony6-stack

Repository files navigation

Symfony6 Stack

This stack contains some essentials to quick start your symfony project:

  • Docker: dockerized development environment
  • Authentication: Registration, Email verfication, Password Reset, two-factor authentication (2FA) with BackupCodes, TrustedDevice
  • EasyAdmin 4.0: EasyAdmin is a fast, beautiful and modern admin generator for Symfony applications.
  • Email Templates: most used elements (header, footer, button) in separated files for an easy include
  • Multiple Languages: the core features are in translation fiels, easy implementation of other languages
  • API Plattform: The API Platform with token authentication is ready to use.
  • Traits: Reusable Entityfields: createdAt, updatedAt, deletedAt (softdelete), isActive, UUID
  • Database Logging: Most critical and technical issues shall be logged into files, but some user actions may be logged into the database. A simple Logging engine is used to log events into the database
  • PHP Coding Standards Fixer: normalize your PHP code with CS-fixer
Ready to use Forms (Registration, mail verification, Login, 2FA, password reset
simple user event logging
two setup autentication setup Easyadmin with light and dark mode Structured emailtemplate

Installation

    sudo docker-compose up -d
    make setup-app

Browse to localhost:8001/login and use admin:admin as credentials. Do not forget to change the password!

Main configuration points

  • app/.env.dev/app/.env.prod: DATABASE_URL, MAILER_DSN
  • app/config/packages/parameters.yaml: App configuration (Locale, Timezone, Mailer settings)
  • app/config/packages/scheb_2fa.yaml: two factor configuration (backupcodes, trusted devices)
  • app/config/*.yaml: many other settings

Makefile

Here are a few make commands

  • make setup-app: Setup
  • make inside jump inside php-container
  • make db-reset: Reset DB in development (mostly used after changing an entity, but no new migration is created
  • make cs-check displays what cs fixes are executed when using make cs-fix
  • make symfony command="make:entity" execute symfony console commands with make
  • make composer command="require foobar" executed composer commands with make