Festivals App Server
Development •
Usage •
Deployment •
Engage •
Licensing
A live and lightweight go server app providing a simple RESTful API using go-chi/chi and go-sql-driver/mysql.
Development
TBA
Requirements
Setup development
Install homebrew: https://brew.sh/index_de
Setup local mysql environment: https://tableplus.com/blog/2018/11/how-to-download-mysql-mac.html
Usage
TBA
Structure
├── server
│ ├── server.go // Server logic
│ │
│ ├── config
│ │ └── config.go // Server configuration
│ │
│ ├── database
│ │ ├── mysql.go // Basic mysql queries (SELECT, INSERT, etc.)
│ │ └── querytools.go // Some tools to create mysql query statements
│ │
│ ├── handler
│ │ ├── common.go // Common response functions
│ │ ├── festival.go // APIs for the Festival model
│ │ ├── artist.go // APIs for the Artist model
│ │ ├── location.go // APIs for the Location model
│ │ ├── event.go // APIs for the Event model
│ │ ├── image.go // APIs for the Image model
│ │ ├── link.go // APIs for the Link model
│ │ ├── place.go // APIs for the Place model
│ │ └── tag.go // APIs for the Tag model
│ │
│ └── model
│ └── model.go // The object models
│
└── main.go
Documentation
The FestivalsAPI is documented in detail here.
The full documentation for the Festivals App is in the festivals-documentation repository.
The documentation repository contains technical documents, architecture information and UI/UX specifications related to this implementation.
Deployment
The install, update and uninstall scripts should work with any system that uses systemd and firewalld or ufw.
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/master/operation/install.sh
chmod +x install.sh
sudo ./install.sh
Updating
curl -o update.sh https://raw.githubusercontent.com/Festivals-App/festivals-server/master/operation/update.sh
chmod +x update.sh
sudo ./update.sh
Uninstalling
curl -o uninstall.sh https://raw.githubusercontent.com/Festivals-App/festivals-server/master/operation/uninstall.sh
chmod +x uninstall.sh
sudo ./uninstall.sh
To see if the server is running use:
sudo systemctl status festivals-server
Docker
TBA
Build and Run manually
cd $GOPATH/src/github.com/Festivals-App/festivals-server
go build main.go
./main
# Default API Endpoint : http://localhost:10439
Engage
TBA
The following channels are available for discussions, feedback, and support requests:
| Type |
Channel |
| General Discussion |
|
| Concept Feedback |
 |
| Other Requests |
 |
Licensing
Copyright (c) 2020 Simon Gaus.
Licensed under the GNU Lesser General Public License v3.0 (the "License"); you may not use this file except in compliance with the License.
You may obtain a copy of the License at https://www.gnu.org/licenses/lgpl-3.0.html.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the LICENSE for the specific language governing permissions and limitations under the License.