A collection of simple web apps written in PHP and Symfony that accidentally went a bit too much overboard.
Goals include:
- Implement every app listed on this sample web app ideas page
- A relationship system where users are able to read and write data of other users if they're given permission to do so
- Stream data changes in real time
- Host all of it on a free PHP hosting provider
Easiest way to start developing is on Visual Studio Code with Dev Containers. Use the docker-composer.yaml file included in this project. Whenever you start a new project, or do massive changes, you should run these commands:
php bin/console doctrine:database:drop -f --if-exists
php bin/console doctrine:database:create -n --if-exists
php bin/console doctrine:migrations:migrate -n
php bin/console doctrine:fixtures:load -n
apache2ctl restart
Navigate to http://localhost:8080 on your browser to see the app. The fixtures create some default users and data, see AppFixtures.php for a list of users (their passwords are the same as the usernames).
There's a level of quality that needs to be maintained. Run composer fix to lint the source files, and composer check to verify.
This is a one-time action that needs to be performed on the host where the app will be deployed. In the root host directory:
- Create the folders
blueandgreen - Create a symlink
onlineto point directly toblue - Create a symlink
standbyto point directly togreen - In the public directory (e.g. public_html), create these symlinks:
.htaccess -> ../online/public/.htaccessbuild -> ../online/public/buildindex.php -> ../online/public/index.php
Licensed under the Unlicense license, see LICENSE.