# Imgsort 2
Cross platform, fast and efficient manual file sorting with keybinds.

## Description
**Imgsort 2** is web app that lets a client sort files from a "staging" directory on the server into other directories on the server.
It is mainly intended for sorting media that was auto-uploaded from a phone into a self-hosted cloud, like Nextcloud.

If you are looking for a simple program the lets you the same thing locally, have a look at [imgsort](https://github.com/MatthiasQuintern/imgsort).

### Web Interface
The web can show images, video and audio. 
The user can configure several directories into which the files can be sorted through the web interface.
Each directory has a keybind and a button which, when either is pressed, moves the image into the according directory.

The web interface has mobile optimizations, letting you sort images/files on the go.


### Screenshots
<span style="display:inline-block; max-width: 70%; max-height: 510px ; margin-right: 4px">
    <img style="display:block; max-width:100%; max-height: 250px; " src="resources/imgsort2-landscape.png" alt="Desktop interface"></img>
    <img style="display:block; max-width:100%; max-height: 250px; margin-top: 10px" src="resources/imgsort2-configuration.png" alt="Configuration interface"></img>
</span>
<img style="display:inline-block; max-width: 30%; max-height: 510px" src="resources/imgsort2-vertical.png" alt="Mobile interface"></img>

## Installation
You need a *php* enabled web server, for example *nginx* with *php-fpm*.
Configure the `Makefile` by setting the 
- `ROOT_DIR` to the directory containg all images
- `INSTALL_DIR` to the directory that should contain the app files

Then, run `make install` (with sufficent permissions for `INSTALL_DIR`) to install the application files.
This will also create a `imgsort2-nginx.conf` and `imgsort2-php-fpm.conf` in the current directory, which you 
can use as basis for your web server and php configuration.

If you a using nextcloud, make sure to have directory set as `ROOT_DIR` as an **external** storage media and not in the main nextcloud `data` directory.

**The app has no authentication system. Only expose it locally or use something like nginx basic auth to restrict access!**
