Symfony Demo Application
A Symfony demo application with basic user management, a REST/GraphQL API and OAuth/JWT authentication.
MsgPHP is a project that aims to provide reusable domain layers for your application. It has a low development time
overhead and avoids being overly opinionated.
Enabled Bundles
Concern, Bundles
---, ---
Domain, MsgPhpUserBundle
, MsgPhpEavBundle
ORM, DoctrineBundle
Security, SecurityBundle
, HWIOAuthBundle
, LexikJWTAuthenticationBundle
Web API, ApiPlatformBundle
Features
- Register, Login, Forgot Password, My Profile
- One-Time-Login tokens
- Register invitations
- Primary e-mail and secondary e-mails
Try it Yourself
Using Symfony CLI:
composer create-project msgphp/symfony-demo-app
cd symfony-demo-app
# Database and Elasticsearch must be running
# Change DATABASE_URL and ELASTICSEARCH_HOST in .env.local, if needed
bin/console doctrine:database:create --if-not-exists
bin/console doctrine:schema:update --force
bin/console doctrine:fixtures:load -n
bin/console projection:synchronize
symfony server:start
symfony open:local
Using Docker:
# assuming composer is not installed on the local machine
git clone git@github.com:msgphp/symfony-demo-app.git
cd symfony-demo-app
cp .env.local.dist .env.local
make build start install db-fixtures api-sync
# open https://localhost:8443
Documentation
- Read the main documentation
- Get support on Symfony's Slack
#msgphp
channel or raise an issue
Contributing
See CONTRIBUTING.md
Screenshots
v1.x
, 08-2018
---, ---
,
,
, # Blog Posts
- Domain-driven-design: Projections in practice with API Platform and Elasticsearch
- Adding user management to your Symfony application
- Domain-driven-design: Moving forward with API Platform and Elasticsearch
- Domain-driven-design: Writing domain layers. The fast way.
- Commanding a decoupled User entity
- Decoupling the User entity with a new Symfony User Bundle
- Building a new Symfony User Bundle