symfony-demo-app
                                
                                 symfony-demo-app copied to clipboard
                                
                                    symfony-demo-app copied to clipboard
                            
                            
                            
                        A Symfony demo application with basic user management
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 [email protected]: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 #msgphpchannel 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