Skip to content

bill-ahmed/nikel

 
 

Repository files navigation


Nikel API
Nikel API

A collection of data APIs for the University of Toronto.

Build Status API Status Go Report Card License

DocumentationAPI WrappersSelf HostingContributingLicense

Documentation

Nikel API Documentation

API Wrappers

Official

Unofficial

Please feel free to submit a pull request to add your own API wrapper to this list!

Self Hosting

Please make sure you have the same go version displayed in the go.mod file. It should usually be the latest stable release. If you are unsure which go version you have, use go version to find out.

Nikel should work on any 32/64 bit system with go installed.

  1. git clone
git clone https://github.com/nikel-api/nikel.git
  1. cd into nikel
cd nikel
  1. Update submodules
git submodule update --init
  1. cd into nikel-core
cd nikel-core
  1. Build nikel-core
go build
  1. Run nikel-core
Windows
./nikel-core.exe

Linux and macOS
./nikel-core
  1. Optional configuration
  • By default, nikel-core should be listening and serving on port 8080. To change the port, modify the PORT environment variable.
  • To suppress debug logs, add the environment variable GIN_MODE with the value release.
  • To add optional ratelimiting, add the environment variable RATELIMIT with a positive integer value representing the number of reqs/s.

Using Docker

To run an image via docker, do:

  1. Build the image docker build --tag image_name:1.0 .
  2. Run the container docker run --publish 8080:8080 --detach --name my_container image_name:1.0

To run an image via docker-compose, do:

  1. Set environment variable PORT that you wish to use
  2. Run docker-compose up -d --build

Contributing

For contributing, there are a few things to look out for:

  • Always use go fmt to format code
  • Consult the article Godoc: documenting Go code on how to write docstrings if you aren't 100% sure

If you find any inconsistencies or parts of code that can be reworked, any pull requests are greatly appreciated.

License

MIT

About

A collection of data APIs for the University of Toronto.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Go 98.9%
  • Dockerfile 1.1%