GithubHelp home page GithubHelp logo

cyrus-lyrics-api's Introduction

The API behind the CyrusLyrics iOS app, written in Go.

The purpose of this API is to connect to the Google Sheets API and allow the iOS app user to create their own spreadsheet of data for the application.

This project uses the Gin Web Framework.

Before You Begin

This project requires the Google Sheets API. To use it, you will need to create a set of OAuth credentials, as well as enable the Google Sheets API for those credentials.

More info on creating Google OAuth credentials here

To Run

cp .env.example .env

# Next, set the PROJECT_ID; this corresponds to the Google Cloud project
# under which your OAuth credentials are created.
#
# Next, set the following Google OAuth creds in the .env file:
#
# CLIENT_ID
# CLIENT_SECRET
# REDIRECT_URI
#
# You will receive all of these from Google when creating OAuth credentials.

docker-compose up

Available Routes

General Routes

GET /                   # Root route
GET /sheets/default     # List the publicly available default sheets

OAuth Routes

GET /oauth/google             # Initiate the Google OAuth login
GET /oauth/google/callback    # Complete the Google OAuth login

Authenticated Sheets Routes

Note: This app uses the drive.file Google Drive scope, which allows access only to the files created under with this Google app.

GET /sheets/          # Get all sheet IDs and names
GET /sheets/:id       # Get a single sheet's data by ID
POST /sheets/         # Create a sheet, with a name
DELETE /sheets/:id    # Delete a sheet by ID

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.