fix: Rollback to exp slog repository This is done until go1.21 hits alpine repository.
fix: Adjust post endpoint
feat: Add option to download file
feat: Migrate from logrus to slog
ref: Remove ggen entry I have no intention of going further with that.
feat: Simplify mosaic The old implementation was not good and would render the list on mobile in the wrong order
feat: Add detail page
fix: Oder by correct field Before the order was not taking the `date_shot` into consideration.
chore: Update readme readmap
feat: Add admin control Now only admins can access settings.
fix: Fix initial setup check
ref: Move to a pure go sqlite implementation
feat: Handle login error
fix: Adjust some of the layout error
ref: Better worker description This is hard coded as I always want to check that.
ref: Relayout settings page a bit Settings was all over the place with its layout. Now it better fits mobile.
fix: Fix various linting error
fix: Actually add install rule
ref: Update goal
feat: Add task loop Now the tasks will loop every given time. With this it will be able to pick up new photos after the application was started. I added 2h for file because my personal photo gallery is quite big and quite IO bottled necked so it tasks a lot of time to go through.
ref: Minor ui changes
fix: Fix album and media navidation
feat: Make mosaic reusable
ref: Update mosaic to remove empty spaces
ref: Some typography tweaks
fix: Add on fail for exif Also remove unique index from thumbails path, because on fail it saves a empty path.
chore: Check album
feat: Add (yet again) crude album implementation This is a initial UI album implementation. This should cover the most basic album navigation. This is still plenty to do :)
ref: Chek goal
feat: Add better tooling for running the project * Add watch option for hot reload(ish). * Read from `.env` file. This make local development a bit easier since now can easily run the application with custom configuration.
feat: Add album scanner
ref: Move net/http I was young and naive, fasthttp does not fit my needs and make development slower. I'll move to net/http since it has a wider support and will spare some time on implementation detail things (like CSRF). It will allow me to reduce a bit of the code since there may be lib for handling cookie encryption and auth in general.
ref: Move some bin from img to lens
ref: Move to boxed tests
feat: Add user management As many things it is on crude state. The settings.go has become a big mess, but I have achieve MVP, so from now one things shall improve as I'll spent more time on refactoring.
feat: Add option to preload metadata Let the use pick if they want to preload videos' metadata.
fix: Build qtc on the pipeline
feat: Fix video loading its full width
feat: Add build process To make sure that the project does not only compile on my machine.
ref: Fix linting errors
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.
chore: Add deps
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.