phyxo icon indicating copy to clipboard operation
phyxo copied to clipboard

Another web based photo gallery

logo Phyxo

Simply share your images.

alt tag

Requirements

This project use severals librairies that need at least PHP 8.2.0

Phyxo PHPSTan level PHP 8

This project uses a database and support all database engines managed by DBAL like Mysql, PostgreSQL and SQLite engines.

Installation

From web browser

Download the latest stable version and unarchive it. Transfer the content to your web space with any FTP client. Open your website (https://example.com/phyxo/public/index.php or your domain name) and install database and first user through web interface.

You can found more informations on Installation from source page

From source

Clone this repository:

$ git clone [email protected]:nikrou/phyxo.git

Download the composer.phar executable or use the installer.

$ curl -sS https://getcomposer.org/installer | php
$ mv composer.phar composer

Update dependencies via composer:

$ composer install

Install Phyxo through web interface.

For both methods you can make installation process from command line:

$ ./bin/console phyxo:install

And create first user:

$ ./bin/console phyxo:user:create

Contributing

If you'd like to contribute, please read the CONTRIBUTING.md file. You can submit a pull request, or feel free to use any other way you'd prefer.

Running tests

You must have install phyxo first, and update base_url in behat.yml.dist

phyxo is tested using a BDD framework - Behat. To run test:

$ ./bin/behat

But there's also unit tests in phyxo runned with PHPUnit. To run tests:

$ ./bin/simple-phpunit --testdox

or

$ make unit-test

You can also get coverage report for tests by running:

$ ./bin/simple-phpunit --testdox --coverage-html=coverage

or

$ make unit-test-coverage

Static code analysis

Analysis is made using PHPStan :

$ composer phpstan

The analysis is made with level 5 but the idea is to increase that level and fix more and more possible issues.

Demo

You can find, discover and play with a demo

Documentation

Documentation is available on the wiki. Work in progress...

Todo

  • Add more tests
  • See TODO file.