Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
83 lines (65 sloc) 2.75 KB

executer-api

A RESTful API built for consumption by the Executer client apps, which originated as the winning project in Uber's first international hackathon.

Executer automatically schedules a ride via Uber for events in your Google Calendar.

V2 Designs -- Next Release

Executer Screenshots

V1 Designs

Executer Screenshots Screenshots of app using Executer API.

Uber API <-                        -> Executer for iOS
            \                    /
              -> Executer API <-
            /                    \
GCal API <-                        -> Executer for Android
                                  

Check out the repos of mobile apps that already use the Executer backend:

Hosted Dev Version of API

Getting Started

Get the app running locally in the following way:

# Clone the Repo
git clone https://github.com/andela/executer-api
cd executer-api

# Install dependencies
npm install

# Create .env file and set the following environment variables and add the necessary values
DB_URL=mongodb://localhost/executer
GOOGLE_CAL_CLIENT_ID=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
GOOGLE_CAL_CLIENT_SECRET=xxxxxxxxxxxxxxxx
UBER_CLIENT_ID=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
UBER_SECRET_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
UBER_SERVER_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

# Run the app
gulp default

The server will now be running at http://localhost:5555

Endpoints

  • GET calendar
    • Returns calendar events after Google OAuth
  • GET location
    • Returns location in Address form when supplied lng and lat, and vice versa
  • GET login
    • Redirects to Uber Login
  • POST login
    • Creates login session
  • GET requests/shared
    • ???
  • GET trips/:uuid
    • Returns information about a particular trip
  • POST trips/:uuid
    • Creates a new trip
  • GET uber/callback
    • ???
  • GET user
    • Returns user data and access token when sent Uber Login Credentials
  • GET users/:id/requests
    • Returns requests for a particular user
  • GET users/:uuid/requests/:id
    • Returns particular request for a particular user
  • DELETE users/:uuid/requests/:id
    • Deletes an existing request

License

Code released under the MIT license.