Skip to content

haydenk/symfony-poly-stack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Symfony Poly Stack

A full-featured Symfony 8 / PHP 8.5 example application demonstrating web authentication, a JWT REST API, an admin panel, database fixtures, and a scheduler — all running inside a devcontainer with swappable database backends (PostgreSQL, MySQL, SQLite).

Quick Start

Requires Docker + VS Code Dev Containers (or local PHP 8.5) and mise.

# 1. Open the project in its devcontainer
# 2. Create .env — see docs/getting-started.md for the template
mise run setup     # install deps, generate secrets, create DB, migrate
mise run dev       # start Caddy + PHP-FPM + Scheduler → http://localhost:8000
mise run db:seed   # optional: demo accounts (admin@example.com / password)

Services

PostgreSQL 18, MySQL 8.4, Redis 8, and Mailpit run alongside the app container and are reachable on 127.0.0.1 at their default ports; Caddy serves the app on localhost:8000 and Mailpit's UI is on localhost:8025. Details in docs/services.md.

Upgrading from PostgreSQL 17? Recreate the data volume: docker volume rm symfony-poly-stack_postgres-data — see docs/services.md.

Documentation

Topic
Getting Started Requirements, .env template, setup, dev server
Services & Devcontainer Bundled services, networking, Codespaces support
Application Guide Web routes, JWT API, admin panel
Database Connections, backend switching, migrations, fixtures
Mise Tasks Full task reference
Testing & Code Quality PHPUnit, PHPStan level 8, Rector, php-cs-fixer
Dagger CI Containerized quality suite (mise ci)
Architecture Tech stack and project layout

Everyday Commands

mise run test      # PHPUnit suite
mise run quality   # lint + analyse + rector + test, concurrently
mise run ci        # same suite in Dagger containers (run from the host)
mise run db:use sqlite   # switch database backend

The full list: docs/tasks.md.

License

Licensed under the GNU Affero General Public License v3.0 or later (AGPL-3.0-or-later).

About

Full-featured Symfony 8 starter with web auth, JWT API, EasyAdmin, Scheduler, and swappable DB backends — runs in a devcontainer

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Contributors