# README A simple webinterface for users. This app uses [`admin_rest`](https://github.com/snowblindroan/mod_admin_rest) module of prosody. So [prosody.im](http://prosody.im) and this module are hard dependencies. The interface allows users * to have two step verification (as an alternative to the integrated `register_web` module), * to delete of their accounts and * to change their password. This app uses * Slim Version 3 * Slim Auth * Eloquent ORM * PHPMigration * GUMP Validation * Twig * Curl * PHPMailer * Symfony Translation * Sqlite as dependencies. The main git repository is hosted at _[https://git.myservermanager.com/varakh/prosody_web_admin_rest](https://git.myservermanager.com/varakh/prosody_web_admin_rest)_. Other repositories are mirrors and pull requests, issues, and planning are managed there. Contributions are very welcome! ## Requirements * admin_rest module of prosody * composer * sqlite pdo, mb_string ## Install * Install composer * Change directory to project home * Copy `config/env.example` to `config/env` and adjust to your needs * Copy `config/legal.example.md` to `config/legal.md` and adjust to your needs * `composer install` * `php bin/phpmig migrate` ## Deployment * Set up a cron job using `php projectRootDir/bin/UsersAwaitingVerificationCleanUpCronJob.php` to clean up users who signed up but did not verify their account periodically. * Point your document root to `public/`. * Example nginx conf: ``` root .../public; index index.php; rewrite_log on; location / { try_files $uri $uri/ @ee; } location @ee { rewrite ^(.*) /index.php?$1 last; } # php fpm location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; include fastcgi_params; } ``` You should be able to set a very strict Content-Security-Policy. ## Upgrade * Change directory to project home * `git pull` * `composer update` * `php bin/phpmig migrate` * look into Changelog for major changes ## Developers * start server with `php -S localhost:8080 -t public public/index.php` * point browser to [localhost:8080](http://localhost:8080) to have a preview ## Translations This app uses Symfony Translator. It's bootstraped in `Util\BootstrapHelper` and locales are placed under `data/locale/` . Adjust to your needs or help translating.