This web server application provides a simple way for a group of members, such as a photography club, to display their photographs. The emphasis is on uncluttered presentation of images, organised into slideshows.
This is in use at one photo club. I would like to work with another club, ideally in Scotland or the UK, to adapt it as needed for more general use. Contact firstname.lastname@example.org.
Contributors create simple slideshows. Each slide has a selection of title, photo and caption. Slides adjust in layout to match the content. There is a basic facility to edit and reorder slides.
Slideshows may be organised into topics, as defined by a curator. Topics may be defined in advance, or applied to existing slideshows. A topic can be viewed as a single slideshow, or as a page listing the individual contributions.
Sign-up is restricted to a pre-set list of members, suitable for a club.
Slideshows can be specified as publicly visible, or visible to website users, or hidden.
Individual photos can be added to a special topic “Highlights”, featured on the home page. It includes just the most recent highlights from each contributor.
The home page shows the most recent highlights and slideshows for each user. The number shown of each is configurable. A page for each contributor shows all their highlights and slideshows.
A set of recent highlight images are available for display on a parent website. See Images for a Parent Website for details.
Two user roles are defined. A
curator can manage topics and create slideshows on behalf of users. An
admin can add, suspend and remove users, and is also a curator.
misc directory is provided to serve miscellaneous content such as videos.
Basic usage statistics are recorded daily and aggregated by month.
New A topic can be shared with a URL containing an access code.
New Static pages can be added using Go templates.
Display layout is responsive to device size (PC, tablet or phone).
Full size images are resized for display automatically. JPGs, PNGs and TIFs are supported.
|Public page||Club home page||User’s gallery||Edit slideshow|
Written in Go and ready to be deployed to a virtual machine using Docker, for good performance and easy setup. Suitable VMs are provided by Digital Ocean, Linode, or Amazon Lightsail, typically costing around $5 per month with 25GB of storage. Uses a MariaDB or MySQL database.
Automatic support for HTTPS using Let’s Encrypt certificates. Can be configured as a sub-domain of an existing domain name. E.g. gallery.our-website.com.
Data privacy features:
The following may be addressed in future updates:
The following are unlikely to change:
A changes breaks compatibility with previous versions: