Introduction: API Platform, Symfony, and React Together
Introduction: API Platform, Symfony, and React Together
~14 Min. Lesezeit Zuletzt aktualisiert am August 8, 2026
Welcome to the most extensive course in this series so far: up to 100 chapters covering a COMPLETE full-stack workflow – from an automatically generated REST/GraphQL API to a full React frontend with real-time updates.
Prerequisites: two completed prior courses
This course DELIBERATELY builds on two existing series and does NOT repeat their fundamentals from scratch:
- "Symfony: The Complete Training Course" – routing, controllers, Doctrine ORM, security, services/DI/events are assumed KNOWN.
- "React for Professionals" (or at least "React for Beginners") – components, hooks, state management, routing in React are assumed KNOWN.
If you're missing either foundation, we STRONGLY recommend working through that series first – this course focuses EXCLUSIVELY on how API Platform, Symfony, and React work together, not on their individual fundamentals.
What is API Platform?
API Platform is a framework built ON TOP of Symfony that AUTOMATICALLY generates a complete REST (and optionally GraphQL) API from your Doctrine entities – including CRUD operations, OpenAPI documentation (Swagger UI), validation, pagination, and filtering, LARGELY WITHOUT writing your own controller code.
// A single PHP attribute on an entity - often ENOUGH on its own:
#[ApiResource]
class Project
{
// ...
}This ONE attribute from chapter 9 already creates SIX working endpoints (list, single-item fetch, create, fully update, partially update, delete) – chapters 10-12 show this in detail.
Why combine EXACTLY these three technologies?
| Technology | Role |
|---|---|
| API Platform + Symfony | Backend: reliable, type-safe PHP with automatic API generation, security, validation – the SAME principles as the Symfony course, now at the API level instead of HTML rendering. |
| React | Frontend: a modern, reactive user interface consuming the API – the SAME principles as the React courses, now against a REAL, self-built API instead of Magento (as in the separate Magento REST API tutorials). |
The project: aufgaben-manager, rebuilt from scratch
We rebuild the domain model from the Symfony course (User, Project, Task, Comment) ENTIRELY FROM SCRATCH – this time from the start with API Platform instead of Twig templates, PLUS a standalone React frontend (aufgaben-manager-web) that consumes EXACTLY this API. NO code from the Symfony course gets reused – but the domain KNOWLEDGE does: you already know WHAT a Project or Task is, WHY the relationships look the way they do (chapter 5 of the Symfony course), and HOW security concepts like voters work – we now transfer that knowledge onto an API-first architecture.
What you end up with by the end of this course
ONE complete full-stack system: aufgaben-manager-api (Symfony + API Platform, serves the data) and aufgaben-manager-web (React, displays it and lets users interact with it) – WITH JWT authentication, real-time updates via Mercure, automated tests on BOTH sides, and a complete Docker Compose deployment configuration.
This course's structure: 12 topic blocks
- Introduction & setup (chapters 1-8) – setting up both projects, a first connection.
- API Platform basics (chapters 9-18) – understanding automatic CRUD.
- Serialization & validation (chapters 19-28) – precisely controlling data shapes.
- Filtering, pagination & sorting (chapters 29-36) – handling large data sets.
- Relationships & complex resources (chapters 37-46) – the complete domain model.
- Security & auth (chapters 47-56) – JWT, voters, protected endpoints.
- Advanced API Platform features (chapters 57-66) – state providers/processors, extensions.
- Mercure & real-time updates (chapters 67-72) – live updates without reloading.
- React: connecting to the backend (chapters 73-82) – TanStack Query, auth flow.
- React: complete CRUD UI (chapters 83-92) – every view of the task manager.
- Testing (chapters 93-97) – API tests AND React tests.
- Deployment & conclusion (chapters 98-100) – a production-ready full-stack deployment.
Tipp: This course is DELIBERATELY long – take your time. Every chapter builds on the previous one, EXACTLY like all prior series in this collection: complete files instead of fragments, so you can trace the project's state at ANY point.