A WIP self hosted photo server in golang with a corresponding mobile app.
This repository has been archived on 2023-11-13. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
2021-04-05 20:40:23 -04:00
assets Add Icon 2021-02-22 01:05:25 -05:00
cmd Migrate to bimg & remove exif dependency 2021-03-01 11:49:28 -05:00
docs/schema Initial Commit 2021-02-11 15:47:42 -05:00
graph Migrate to bimg & remove exif dependency 2021-03-01 11:49:28 -05:00
internal Migrate to bimg & remove exif dependency 2021-03-01 11:49:28 -05:00
plugin Initial Commit 2021-02-11 15:47:42 -05:00
web_native stashed 2021-04-05 20:40:23 -04:00
.gitignore Lazy Loading & Pagination, Alpha Channel -> White Conversion, Add Height & Width to DB & API 2021-02-28 19:23:41 -05:00
go.mod Migrate to bimg & remove exif dependency 2021-03-01 11:49:28 -05:00
go.sum Migrate to bimg & remove exif dependency 2021-03-01 11:49:28 -05:00
gqlgen.yml Initial Commit 2021-02-11 15:47:42 -05:00
init_pkg_config_path Lazy Loading & Pagination, Alpha Channel -> White Conversion, Add Height & Width to DB & API 2021-02-28 19:23:41 -05:00
LICENSE.md Initial Commit 2021-02-11 15:47:42 -05:00
README.md Add Icon 2021-02-22 01:05:25 -05:00


A self hosted photo library with user management & authentication. Cross platform Client supporting Android, iOS, and Web.

Client

See web_native subfolder

Server

Features / Roadmap

  • [DONE] DB w/ user management - bcrypt salt & hash

  • [DONE] JWT Access & Refresh Tokens

  • [DONE] GraphQL API

  • [DONE] GraphQL multipart upload

  • [DONE] GraphQL basic filtering, ordering, pagination

  • [DONE] Uploading images - exif extraction (load db with lat, long, etc)

  • [DONE] Dynamic image conversion (heif support, width params)

  • [TODO] ALL the tests

  • [TODO] GraphQL & DB deletes & update

  • [TODO] Dockerfile

  • [TODO] Resolving GraphQL nested queries (e.g. albums, tags)

  • [TODO] GraphQL nested filters

  • [TODO] Lots more... TBD

Dependencies

  • libvips 8.8+

Running

CONFIG_PATH=$(pwd) DATA_PATH=$(pwd) go run cmd/main.go serve

Building

# Generate GraphQL Models
go run github.com/99designs/gqlgen generate
go run cmd/main.go generate

# Generate GraphQL Documentation
graphdoc -e http://localhost:8484/query -o ./docs/schema