Skip to content
This repository has been archived by the owner on Feb 11, 2023. It is now read-only.

Schrodinger-Box/backend

Repository files navigation

Schrödinger's Box Backend

This program is developed during Orbital 2020 and the development has ceased since the end of the event. It is no longer actively maintained.

This is the backend server of Schrödinger's Box - an event sharing and publicizing platform targeting students and event organizers within NUS.

This app is still in early stage of development. All APIs provided by this backend server complies with JSON:API Specification v1.0.

Build Status FOSSA Status

Link to frontend: https://github.com/Schrodinger-Box/frontend

API documentation

API specification for this app is written in OpenAPI Specification (Version 3.0.3). Same as this backend server, it is still in early stage.

You can view it in a user-friendly documentation UI here at SwaggerHub.

Development logs / raw file can also be viewed at this Github repository.

Installation

git clone https://github.com/Schrodinger-Box/backend.git
cd backend
go build
cp schrodinger-box.sample.yaml schrodinger-box.yaml
vim schrodinger-box.sample.yaml
./schrodinger-box

Note: You will need Go v1.14.x for this server and its dependencies to build and run.

Configuration

There are detailed explanation on each of the items in the config file. Please go check it out.

Main dependencies

  • Gin - Fast and light-weight web framework
  • GORM - ORM library for Go
  • openid.go - OpenID (NUS authentication) library
  • gormid - OpenID nonce and discovery cache library
  • tgbotapi - Go binding for Telegram Bot API
  • cron - Cron-like scheduler for Go
  • viper - Configuration loader
  • ...

License

This backend server is open-sourced under The 3-Clause BSD License. Please refer to LICENSE for more information.

FOSSA Status

About

Backend Server of Schrodinger's Box

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published