Development • Deployment • Engage • Website
I have a rather custom development workflow for the FestvialsApp website. This is probably due to my dislike for website development: i can't bring myself to learn the right way. Though unconventional, it is quite straight forward as the website only uses html and css.
All website files are in the source folder waiting to get compiled by the compile script which is minifying and merging those files
and is outputting the result to a folder called out
. This folder now contains a new folder with the current timestamp as its name and a folder called current
.
The current
folder will always contain the newest compiled files, and can be used to check the latest changes to the source files using a browser.
The base locale of the website is german, localized versions of the website are stored inside a top level folder with a descriptive name,
like 'EN' for the english localization. Images are all stored in a top level folder called images and need to be compressed and optimized by hand,
as the compile script won't attempt any optimizations on the images.
The key requirements for the website are: fast, easy to update, open source, accessible(*) and secure.
The server
directory manages API routes and middleware for the sidecar app and the operation
folder documents deployment and environment. GitHub Actions are in .github
, and .vscode
provides recommended settings.
- Golang Version 1.24.1+
- Visual Studio Code 1.98.2+
- Plugin recommendations are managed via workspace recommendations.
- Bash script friendly environment
- minify
- For installation on macOS via homebrew see here.
I use Visual Studio Code, as it is super easy to run the compile script with just a shortcut (Shift+Cmd+B) and i don't have any preferences when developing websites, the provided configuration files should let you start right away. You only need to install minify on your system to allow the compile script to run.
I use nginx to serve festivalsapp.org, deployed in a small VM running Ubuntu at digitalocean. Just follow the deployment guide for deploying it inside a virtual machine or the local deployment guide for running it on your macOS developer machine.
I welcome every contribution, whether it is a pull request or a fixed typo. The best place to discuss questions and suggestions regarding the festivals-website is the issues section. More general information and a good starting point if you want to get involved is the festival-documentation repository.
The following channels are available for discussions, feedback, and support requests:
Type | Channel |
---|---|
General Discussion | |
Other Requests |
Copyright (c) 2017-2025 Simon Gaus. Licensed under the GNU Lesser General Public License v3.0