lens @ 049b9acbd9635c206f5eeb01074b5d63803c4cd5

ref: Remove static fs on root

Go embed does allow to load parent folder, so I move static fs to
static folder as I think it fits better there than in the root of the
project.
feat: Move last page to qtpl
ref: Move auth functions to service
feat: Move settings from `html/template` to qtpl
fix: Fix path not storing properly

Also, initial user is now created as admin.
feat: Move register from `html/template` to qtpl
feat: Move login from `html/template` to qtpl
feat: Move error from `html/template` to qtpl
doc: Add dev requirements

Add some requirements to run the project.
feat: Add template generating to make file

Add template generating code to `make` process.
feat: Move media from `html/template` to qtpl
chore: Add quicktemplate dependency
feat: Move to user path media

Now media also base on user folder to fetch its media.
feat: Add use based file scanner
feat: Add user based files

Now files follow user path configuration
fix: Fix content type

Content type was always being set to `text/html`.

Also swap lib for processing thumbnail for something that accepts HEIC.
feat: Add thumbnailer
feat: Add new rule for not so useful optimization
test: Add simple test for settings
ref: Move all controller under the same folder

Move all controller to the same folder and rename them to service.

Moving them to the same folder allow an easier setup for testing.
ref: Move away other repositories

Finish moving all repositories to a repository package. This should
reduce the amount of packages.
ref: Refactor how repository is define

To make things easier and reduce the number of package I'll move all
repository to one folder, starting with auth and user repository.

Also implements all testing on top of the repository interface with a im
memory implementation. This will later make mescling unit and
integration easier.
feat: Partially fix test

This will totally be fixed later.
feat: Add initial user setup
feat: Add scheduler to chan processor
feat: Store image size

Add image dimensions to exif fetch.
feat: Add user list UI

Fill user settings UI with actual data.
feat: Add make rules for upx compressing

I don't know if that will work in the long run but I have added just in
case.
fix: Actually read from embedded

Previous implementation was not reading from embedded fs.
feat: Remove bin size
feat: Add mockup for user settings
feat: Add static file to output bin

Now the final binary has a standalone web server including necessary
static file.
feat: Remove unnecessary function
ref: Add itens to TODO
ref: Rename list to batch processor
feat: Add log to list list processor
feat: Add scheduler again

Since I have fixed the issue with the `SIGTINT` hanging the application
I can readd the scheduler once more.

Also move the param for amount of scheduler work.
fix: Wrap media scan into a go routine

For some unknown reason `ReadExif` hangs when the context is canceled
through signal handling. Perhaps perl-exif tooling is closing on
`SIGNINT`.
feat: Remove unecessary param from repo
ref: Remove scratchpad notes
feat: Move params to flags

Start using flags to set some params like key and database connection.
As a flag parse I opt for a lib that uses posix style params.
fix: Fix having to login every server reload
fix: Fix linter issues
feat: Inicial commit

It contains rough template for the server and runners.

It contains rough template for the server and runners.