Skip to content

panter/api.panter.ch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

12713c1 · Dec 6, 2018

History

78 Commits
Oct 10, 2018
Nov 1, 2016
Sep 24, 2018
Oct 30, 2016
Sep 24, 2018
Oct 30, 2016
Sep 24, 2018
Oct 31, 2016
Oct 30, 2016
Oct 31, 2017
Oct 31, 2016
Oct 27, 2018
Nov 1, 2016
Oct 30, 2018
Dec 4, 2018
Oct 31, 2016
Sep 24, 2018
Oct 30, 2016
Oct 30, 2016

Repository files navigation

Panter Public Data Api

Components used

  • Redis
  • Panter Controllr
  • Github
  • Gitlab

Setup

  • Install ruby (rbenv recommended)

  • Install redis

  • cp .env.example .env and fill in some values (esp. the access tokens)

  • rake clone_git_repositories to have all git repositories locally. alternatively you can rsync the cloned repositories from the production server.

  • rails s

    The server will fetch all data for all modules by default. To only load certain modules the environment variable MODULES can be used.

    Example 1, only load controllr data

    MODULES=controllr rails s

    Example 2, skip all data fetching altogether (useful when you already have data fetched previously and want to quickly start the server)

    MODULES= rails s

    Example 3, fetch git and controllr data

    MODULES=controllr,git rails s

Swagger API Doc

Whenever an endpoint is updated or a new one is added the swagger docs need to be updated as well. ZRO: OpenApi 3 JSON-Doc Generator for Rails is used for this.

After updating the definition in the respective controller the task rake doc generates the Swagger definition in public/api.json. This file should be checked in to Git as well.

License

Licensed under the GNU Affero General Public License v3.0

Copyright 2016 Panter AG <[email protected]>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.