grease_crystal
grease
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
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
Contributors
- Sam Mohr - creator and maintainer
grease_crystal
- 0
- 0
- 0
- 0
- 5
- about 3 years ago
- May 30, 2020
MIT License
Thu, 21 Nov 2024 11:33:41 GMT