A RESTful API built for consumption by the Executer client apps
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is even with ladisays:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
config
lib
.gitignore
LICENSE
Procfile
README.md
gulpfile.js
index.js
karma.conf.js
package.json
protractor.conf.js

README.md

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.