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-02-22 01:05:25 -05:00
assets Add Icon 2021-02-22 01:05:25 -05:00
cmd On the fly image conversion 2021-02-21 12:31:03 -05:00
docs/schema Initial Commit 2021-02-11 15:47:42 -05:00
graph Initial Commit 2021-02-11 15:47:42 -05:00
internal Woooo! Login & Gallery Loading Working! 2021-02-21 22:36:25 -05:00
plugin Initial Commit 2021-02-11 15:47:42 -05:00
web_native Add Icon 2021-02-22 01:05:25 -05:00
.gitignore Documentation, Basic Login Workflow 2021-02-20 14:10:25 -05:00
go.mod On the fly image conversion 2021-02-21 12:31:03 -05:00
go.sum On the fly image conversion 2021-02-21 12:31:03 -05:00
gqlgen.yml Initial Commit 2021-02-11 15:47:42 -05:00
init_pkg_config_path On the fly image conversion 2021-02-21 12:31:03 -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