2021-02-22 05:33:17 +00:00
|
|
|
<img src="https://gitea.va.reichard.io/evan/imagini/raw/branch/master/assets/imagini.png" width="300">
|
|
|
|
|
2021-02-20 19:10:25 +00:00
|
|
|
A self hosted photo library with user management & authentication. Cross platform Client supporting Android, iOS, and Web.
|
2021-02-11 20:47:42 +00:00
|
|
|
|
2021-02-22 05:31:07 +00:00
|
|
|
|
2021-02-22 03:52:18 +00:00
|
|
|
## Client
|
|
|
|
See `web_native` [subfolder](./web_native/README.md)
|
|
|
|
|
2021-02-20 19:10:25 +00:00
|
|
|
## Server
|
2021-02-22 03:52:18 +00:00
|
|
|
### 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
|
|
|
|
|
2021-02-21 17:31:03 +00:00
|
|
|
### Dependencies
|
|
|
|
|
2021-02-22 03:52:18 +00:00
|
|
|
- libvips 8.8+
|
2021-02-21 17:31:03 +00:00
|
|
|
|
2021-02-20 19:10:25 +00:00
|
|
|
### Running
|
2021-02-11 20:47:42 +00:00
|
|
|
|
2021-02-20 19:10:25 +00:00
|
|
|
CONFIG_PATH=$(pwd) DATA_PATH=$(pwd) go run cmd/main.go serve
|
|
|
|
|
|
|
|
## Building
|
|
|
|
|
|
|
|
# Generate GraphQL Models
|
2021-02-11 20:47:42 +00:00
|
|
|
go run github.com/99designs/gqlgen generate
|
2021-02-20 19:10:25 +00:00
|
|
|
go run cmd/main.go generate
|
2021-02-11 20:47:42 +00:00
|
|
|
|
2021-02-20 19:10:25 +00:00
|
|
|
# Generate GraphQL Documentation
|
2021-02-11 20:47:42 +00:00
|
|
|
graphdoc -e http://localhost:8484/query -o ./docs/schema
|