# README
Festivals App Server
A lightweight service providing a RESTful API, called FestivalsAPI. The FestivalsAPI exposes all data functions needed by the FestivalsApp.
Development • Deployment • Engage
Development
The developement of the FestivalsAPI (see documentation) and the festivals-server is heavily dependend on the festivals-api-ios and the festivals-database which provides the persistent storage to the FestivalsAPI. In my regular development workflow i first mock the needed behaviour in the API client library and then start implementing the changes in the festivals-server and after that in the festivals-database. To test whether the festivals-server is working correctly i'm currently relying on downstream tests of the festivals-api-ios framework.
To find out more about the architecture and technical information see the ARCHITECTURE document. The general documentation for the Festivals App is in the festivals-documentation repository. The documentation repository contains architecture information, general deployment documentation, templates and other helpful documents.
Requirements
- Golang Version 1.21.5+
- Visual Studio Code 1.85.2+
- Plugin recommendations are managed via workspace recommendations.
- Bash script friendly environment
Deployment
Running the festivals-server is pretty easy because Go binaries are able to run without system dependencies
on the target for which they are compiled. The only dependency is that the festivals-server expects either a config file at /etc/festivals-server.conf
,
the environment variables set or the template config file present in the directory it runs from. You also need to provide all needed certificates
in the right format, see festivals-pki.
VM
The install, update and uninstall scripts should work with any system that uses systemd and firewalld. Additionally the scripts will somewhat work under macOS but won't configure the firewall or launch service.
#Installing
curl -o install.sh https://raw.githubusercontent.com/Festivals-App/festivals-server/main/operation/install.sh
chmod +x install.sh
sudo ./install.sh
#Updating
curl -o update.sh https://raw.githubusercontent.com/Festivals-App/festivals-server/main/operation/update.sh
chmod +x update.sh
sudo ./update.sh
#To see if the server is running use:
sudo systemctl status festivals-server
Build and run using make
make build
make run
# Default API Endpoint : http://localhost:10439
Engage
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-server 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 |
Licensing
Copyright (c) 2017-2024 Simon Gaus. Licensed under the GNU Lesser General Public License v3.0