An open API service indexing awesome lists of open source software.

https://github.com/haydenk/symfony-poly-stack

Full-featured Symfony 8 starter with web auth, JWT API, EasyAdmin, Scheduler, and swappable DB backends — runs in a devcontainer
https://github.com/haydenk/symfony-poly-stack

api-platform bootstrap caddy devcontainer doctrine easyadmin jwt mise mysql php postgresql rest-api sqlite starter-template symfony symfony8 webpack-encore

Last synced: about 4 hours ago
JSON representation

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

Awesome Lists containing this project

README

          

# 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](https://www.docker.com/) + [VS Code Dev Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers)
(or local PHP 8.5) and [mise](https://mise.jdx.dev/).

```bash
# 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](docs/services.md).

> **Upgrading from PostgreSQL 17?** Recreate the data volume:
> `docker volume rm symfony-poly-stack_postgres-data` — see
> [docs/services.md](docs/services.md#bundled-services).

## Documentation

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

## Everyday Commands

```bash
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](docs/tasks.md).

## License

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