By no means should this code should ever be used in production ready applications nor be executed on production servers. No security checks and/or validations were enforced. This code was written for educational purposes only, having the scope to showcase basic functionality. Performance, efficiency, security, or reusability were not a priority.
Run docker-compose build --force-rm; docker-compose up -d
to build the application using docker
Run the following command to retrieve composer dependencies:
docker run --rm --interactive --tty \
--volume $PWD:/app \
--user $(id -u):$(id -g) \
composer install
Please create a config file config/config.php
with the desired signing key and your MySQL database credentials. You can use the file config/config.php.dist
as a template.
Additionally create the following table in your database, you can connect to it through port 8082:
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
id
and username
fields should be pretty straight forward. The password
field has to be generated using the password_hash()
function in PHP
Open a browser window, and go to http://localhost:8080 to see the application running.