├── .gitignore ├── .idea ├── codeStyles │ └── codeStyleConfig.xml ├── modules.xml ├── movies.iml ├── php.xml ├── vcs.xml └── workspace.xml ├── README.md ├── assets ├── app.js ├── bootstrap.js ├── controllers.json ├── controllers │ └── hello_controller.js ├── images │ └── image1.jpg ├── javascript │ ├── method1.js │ └── method2.js └── styles │ └── app.css ├── bin └── console ├── composer.json ├── composer.lock ├── config ├── bundles.php ├── packages │ ├── assets.yaml │ ├── cache.yaml │ ├── doctrine.yaml │ ├── doctrine_migrations.yaml │ ├── framework.yaml │ ├── prod │ │ ├── doctrine.yaml │ │ └── webpack_encore.yaml │ ├── routing.yaml │ ├── sensio_framework_extra.yaml │ ├── test │ │ ├── doctrine.yaml │ │ └── webpack_encore.yaml │ ├── twig.yaml │ └── webpack_encore.yaml ├── preload.php ├── routes.yaml ├── routes │ ├── annotations.yaml │ └── framework.yaml └── services.yaml ├── docker-compose.override.yml ├── docker-compose.yml ├── migrations ├── .gitignore └── Version20211204111619.php ├── package-lock.json ├── package.json ├── postcss.config.js ├── public └── index.php ├── src ├── Controller │ ├── .gitignore │ └── MoviesController.php ├── DataFixtures │ ├── ActorFixtures.php │ └── MovieFixtures.php ├── Entity │ ├── .gitignore │ ├── Actor.php │ └── Movie.php ├── Form │ ├── MovieFormType.php │ └── RegistrationFormType.php ├── Kernel.php └── Repository │ ├── .gitignore │ ├── ActorRepository.php │ └── MovieRepository.php ├── symfony.lock ├── tailwind.config.js ├── templates ├── base.html.twig ├── login.html.twig ├── movies │ ├── create.html.twig │ ├── edit.html.twig │ ├── index.html.twig │ └── show.html.twig └── register.html.twig └── webpack.config.js /.gitignore: -------------------------------------------------------------------------------- 1 | ###> symfony/framework-bundle ### 2 | /.env.local 3 | /.env.local.php 4 | /.env.*.local 5 | /config/secrets/prod/prod.decrypt.private.php 6 | /public/bundles/ 7 | /var/ 8 | /vendor/ 9 | ###< symfony/framework-bundle ### 10 | 11 | ###> symfony/webpack-encore-bundle ### 12 | /node_modules/ 13 | /public/build/ 14 | npm-debug.log 15 | yarn-error.log 16 | ###< symfony/webpack-encore-bundle ### 17 | -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/movies.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | -------------------------------------------------------------------------------- /.idea/php.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/workspace.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 34 | 35 | 44 | 45 | 50 | 51 | 56 | 57 | 58 | 59 | {% endblock %} 60 | -------------------------------------------------------------------------------- /templates/movies/create.html.twig: -------------------------------------------------------------------------------- 1 | {% extends "./base.html.twig" %} 2 | 3 | {% block body %} 4 |
5 |

6 | Create Movie 7 |

8 | 9 | {{ form_start(form) }} 10 | 11 | {{ form_widget(form) }} 12 | 17 | 18 | {{ form_end(form) }} 19 |
20 | {% endblock %} 21 | -------------------------------------------------------------------------------- /templates/movies/edit.html.twig: -------------------------------------------------------------------------------- 1 | {% extends "./base.html.twig" %} 2 | 3 | {% block body %} 4 |
5 |

6 | Create Movie 7 |

8 | 9 | {{ form_start(form) }} 10 | 11 | {{ form_widget(form) }} 12 | 13 | 18 | 19 | {{ form_end(form) }} 20 |
21 | {% endblock %} 22 | -------------------------------------------------------------------------------- /templates/movies/index.html.twig: -------------------------------------------------------------------------------- 1 | {% extends "./base.html.twig" %} 2 | 3 | {% block body %} 4 |
5 |
6 |

7 | Movies Review ({{ movies|length }}) 8 |

9 | 10 | 11 | Created by Code With Dary 12 | 13 |
14 |
15 | 16 | 23 |
24 | 25 | {% for movie in movies %} 26 |
27 | 32 | 33 |

34 | {{ movie.title }} 35 |

36 | 37 | 38 | By Code With Dary | 28.01.2022 39 | 40 | 41 |

42 | {{ movie.description }} 43 |

44 | 45 | 46 | Keep Reading 47 | 48 |
49 | {% endfor %} 50 |
51 | {% endblock %} -------------------------------------------------------------------------------- /templates/movies/show.html.twig: -------------------------------------------------------------------------------- 1 | {% extends "./base.html.twig" %} 2 | 3 | {% block body %} 4 |
5 |

6 | {{ movie.title }} 7 |

8 | 9 |
10 |
11 |

12 | Created by: Code With Dary 13 |

14 | 15 |

16 | 28-01-2022 4 min. read 17 |

18 |
19 |
20 | 21 | Icon of Code With Dary 26 | 27 |

28 | {{ movie.description }} 29 |

30 | 31 | 34 | Edit Movie 35 | 36 | 37 | 40 | Delete Movie 41 | 42 |
43 | {% endblock %} -------------------------------------------------------------------------------- /templates/register.html.twig: -------------------------------------------------------------------------------- 1 | {% extends 'base.html.twig' %} 2 | 3 | {% block title %}Register{% endblock %} 4 | 5 | {% block body %} 6 |
7 |
8 |

9 | Register 10 |

11 | 12 | {{ form_start(registrationForm) }} 13 | {{ form_row(registrationForm.email) }} 14 | {{ form_row(registrationForm.plainPassword) }} 15 | 16 | {{ form_row(registrationForm.agreeTerms) }} 17 | 18 | 23 | 24 | {{ form_end(registrationForm) }} 25 | 26 |
27 |
28 | {% endblock %} 29 | -------------------------------------------------------------------------------- /webpack.config.js: -------------------------------------------------------------------------------- 1 | const Encore = require('@symfony/webpack-encore'); 2 | 3 | // Manually configure the runtime environment if not already configured yet by the "encore" command. 4 | // It's useful when you use tools that rely on webpack.config.js file. 5 | if (!Encore.isRuntimeEnvironmentConfigured()) { 6 | Encore.configureRuntimeEnvironment(process.env.NODE_ENV || 'dev'); 7 | } 8 | 9 | Encore 10 | // directory where compiled assets will be stored 11 | .setOutputPath('public/build/') 12 | // public path used by the web server to access the output path 13 | .setPublicPath('/build') 14 | // only needed for CDN's or sub-directory deploy 15 | //.setManifestKeyPrefix('build/') 16 | 17 | /* 18 | * ENTRY CONFIG 19 | * 20 | * Each entry will result in one JavaScript file (e.g. app.js) 21 | * and one CSS file (e.g. app.css) if your JavaScript imports CSS. 22 | */ 23 | .addEntry('app', './assets/app.js') 24 | .addEntry('method2', './assets/javascript/method2.js') 25 | 26 | // enables the Symfony UX Stimulus bridge (used in assets/bootstrap.js) 27 | .enableStimulusBridge('./assets/controllers.json') 28 | 29 | // When enabled, Webpack "splits" your files into smaller pieces for greater optimization. 30 | .splitEntryChunks() 31 | 32 | // will require an extra script tag for runtime.js 33 | // but, you probably want this, unless you're building a single-page app 34 | .enableSingleRuntimeChunk() 35 | 36 | /* 37 | * FEATURE CONFIG 38 | * 39 | * Enable & configure other features below. For a full 40 | * list of features, see: 41 | * https://symfony.com/doc/current/frontend.html#adding-more-features 42 | */ 43 | .cleanupOutputBeforeBuild() 44 | .enableBuildNotifications() 45 | .enableSourceMaps(!Encore.isProduction()) 46 | // enables hashed filenames (e.g. app.abc123.css) 47 | .enableVersioning(Encore.isProduction()) 48 | 49 | .configureBabel((config) => { 50 | config.plugins.push('@babel/plugin-proposal-class-properties'); 51 | }) 52 | 53 | // enables @babel/preset-env polyfills 54 | .configureBabelPresetEnv((config) => { 55 | config.useBuiltIns = 'usage'; 56 | config.corejs = 3; 57 | }) 58 | 59 | // enables Sass/SCSS support 60 | //.enableSassLoader() 61 | 62 | // uncomment if you use TypeScript 63 | //.enableTypeScriptLoader() 64 | 65 | // uncomment if you use React 66 | //.enableReactPreset() 67 | 68 | // uncomment to get integrity="..." attributes on your script & link tags 69 | // requires WebpackEncoreBundle 1.4 or higher 70 | //.enableIntegrityHashes(Encore.isProduction()) 71 | 72 | // uncomment if you're having problems with a jQuery plugin 73 | //.autoProvidejQuery() 74 | 75 | .enablePostCssLoader((options) => { 76 | options.postcssOptions = { 77 | config: './postcss.config.js' 78 | } 79 | }) 80 | 81 | .copyFiles({ 82 | from: './assets/images', 83 | to: 'images/[path][name].[hash:8].[ext]', 84 | pattern: /\.(png|jpg|jpeg)$/ 85 | }) 86 | ; 87 | 88 | module.exports = Encore.getWebpackConfig(); 89 | --------------------------------------------------------------------------------