My gallery
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Artemis 63980c1e0e
did stuff i guess, ditched s3 cuz its bullshit
2 months ago
.vscode Base commit 2 months ago
.yarn/releases Base commit 2 months ago
prisma made album opt 2 months ago
src did stuff i guess, ditched s3 cuz its bullshit 2 months ago
.editorconfig Base commit 2 months ago
.env.example Base commit 2 months ago
.gitignore Base commit 2 months ago
.prettierignore Base commit 2 months ago
.prettierrc.json Base commit 2 months ago
.yarnrc.yml Base commit 2 months ago
LICENSE Base commit 2 months ago
README.md Base commit 2 months ago
config.ts made templates stuff work 2 months ago
docker-compose.yml prepared terrain for file upload 2 months ago
nest-cli.json made templates stuff work 2 months ago
package.json did stuff i guess, ditched s3 cuz its bullshit 2 months ago
tsconfig.build.json Base commit 2 months ago
tsconfig.json did stuff i guess, ditched s3 cuz its bullshit 2 months ago
yarn.lock did stuff i guess, ditched s3 cuz its bullshit 2 months ago

README.md

Gallery

Basically, albums with content warning, title, image set, optional description and links(p2)

There are two special kinds of albums, uncategorized and favourites(p4+)

An image can be bound to an album, if it isn't it's in an "unsorted" fake album and has no CW (maybe p3 per image CW). It can have a title, a description, links(p2), and picture metadata(p3)

Additionally (p4+), i can clean image metadata, fix author and such, embed a copyright on the photo, mark photo as favorite(in which case the CW is picked from the album, for each photo), make album "private" (generated access token link), or make it unlisted. I also want to be able to make "album teasers" that would allow people to subscribe to a RSS or mailing list and be notified when it's published; an extension would be patreon support to allow donating users to access those albums before the public release date. I also want an "easy installer" that would basically be a web UI, and a proper packaging of the nodejs program (single bin, hopefully, otherwise compact tar) and if possible, an arch or debian package (since there is a compiled extension at least, argon2id, it's tough)

Featsets

P1: core functionality, MVP

  • as a user, i want to display an album
  • as a user, i want to display a list of albums
  • as a user, i want to display an image
  • as an owner, i want to create an album
  • as an owner, i want to archive an album
  • as an owner, i want to edit an album's metadata
  • as an owner, i want to upload one or some images
  • as an owner, i want to archive an image
  • as an owner, i want to edit an image's metadata
  • as an admin, i want to delete all archived data that is older than the selected date, by default 30 days approximately, or a month, depending on what's easiest to do

Data model

Common metadata

  • ID (UUID)
  • CreatedAt (Timestamp)
  • UpdatedAt (Timestamp)
  • ArchivedAt (Timestamp)

Image

  • title (optional)
  • description (optional)
  • file (UUID, FK(Image File))
  • album (UUID, FK(Album), optional)

Image file

  • checksum: sha256 checksum of the image

Album

  • title
  • description (optional)
  • content warning (array)