Platform to create and update QR codes for URLs. All QR codes/URLs will point back to the system, which then handles redirect to the relevant end URL. This enables updates to QR codes even after they are deployed in the field.
This project is a Symfony application built using PHP 8.4 and utilizes Docker for environment isolation. Below are directions to set up, run, and maintain the project effectively.
- 
Install Dependencies 
 Run the following command to install PHP dependencies using Composer in a Dockerized environment:task start 
- 
Environment Configuration 
 Create a.env.localfile from the base.envfile:cp .env .env.local Update the configuration in .env.localas needed.
- 
Optinional: Load fixtures 
 To load fixtures run the following command. This will create QR codes and tenants/users. You can now login with[email protected]as username andpasswordas password.task apply-fixtures 
- 
Optinional: Create more Tenants/Users 
 Run the following commands to create a Tenant and Usertask console app:tenant:add task console app:user:add Note: Form login and manual user management is a temporary solution while we wait for OIDC 
The assets app.css and app.js are served through webpack.
Build assets:
 task run-devBuild and watch assets:
 task run-watchBuild assets for production:
 task run-buildThe project uses PHP CS Fixer for code formatting and PHPStan for static analysis to maintain clean and robust code. Below are the commands to ensure coding standards are followed.
Fix code formatting issues:
task coding-standards-applyCheck formatting without making any changes:
task composer -- coding-standards-checkRun PHPStan to check for code issues:
task composer -- code-analysisMarkdownlint, code analysis, Code sniffer, Composer normalizer
task check-codeThe core structure of this Symfony project follows standard conventions:
- src/: Contains the application code.
- public/: Publicly accessible files, such as the entry point (- index.php).
- translations/: Holds translation files for multilingual support.
- templates/: Contains Twig templates for front-end rendering.
- migrations/: Database migration files.
- tests/: Unit and functional tests.
- 
Always clear the cache after making any environment or configuration changes: task console -- cache:clear