grease_crystal

The backend for the Georgia Tech Glee Club's internal site

grease

Build Status

The backend for the Georgia Tech Glee Club's internal website. You can find the frontend (written in React + TypeScript) here.

This GraphQL API is written in Crystal.

Note: If you are curious about the history of this project or why Crystal was the language used, please read the corresponding doc.

Usage

This API runs using the CGI interface, and exposes a few endpoints:

Endpoint Purpose
/graphql The GraphQL API itself
/graphiql The GraphiQL page, for exploring the API
/upload_frontend Upload archived build of the frontend.

You will be able to access the live version of the GraphiQL instance running at https://gleeclub.gatech.edu/cgi-bin/api/graphiql.

Installation

Before you can build, deploy, or contribute to this project, you will need to install crystal first.

For testing, you will also want to make sure to install MySQL and Python 3.

More information will be provided on how to test this service once development of features finishes first.

Deployment

To deploy, you will need access to an account that hold the role of Webmaster on the internal website. Login to that account to get an API token.

Then all you have to do is set the environment variable GREASE_TOKEN to your API token, and then run sh build_and_upload.sh.

Note: You can retrieve your token on the internal site from the webmaster tools admin tab if you are already logged in, or the login mutation on the GraphQL API if you are not.

Contributing

  1. Create your feature branch (git checkout -b my-new-feature)
  2. Commit your changes (git commit -am 'Add some feature')
  3. Push to the branch (git push origin my-new-feature)
  4. Create a new Pull Request

Contributors

Repository

grease_crystal

Owner
Statistic
  • 0
  • 0
  • 0
  • 0
  • 5
  • about 3 years ago
  • May 30, 2020
License

MIT License

Links
Synced at

Thu, 21 Nov 2024 11:33:41 GMT

Languages