Build a client-side library for an easy and straightforward consumption of the FH API, write documentation explaining how to use the library and build an example project that uses the library.
-
- Research existing clients to determine a simple but robust approach to implementing a client-side library
- Stripe (https://github.com/stripe/stripe-ruby)
- Twitter (https://github.com/sferik/twitter)
- Consumes the FareHarbor API
- Refer to the FH API for getting started and endpoints
- Ideally built in Python and deployed on pip
- building a Ruby Gem would be a second best option
- Full test suite for all library functionality
- Why? - Below are some examples of what the library will do for affiliates.
- Retrieve a list of companies
- API: $ curl -H "X-FareHarbor-API-App: APP-KEY" -H "X-FareHarbor-API-User: USER-KEY" https://fareharbor.com/api/external/v1/companies/
- LIBRARY: FareHarbor::Affiliate::Companies
- Retrieve a list of bookable items
- API: $ curl -H "X-FareHarbor-API-App: APP-KEY" -H "X-FareHarbor-API-User: USER-KEY" https://fareharbor.com/api/external/v1/companies/company-shortname/items/
- LIBRARY: FareHarbor::Affiliate::Company.items
- Retrieve a list of companies
- Research existing clients to determine a simple but robust approach to implementing a client-side library
-
- Detailed documentation of how to setup and use the library
- Installation
- Config & Setup
- APP KEY
- USER-KEY
- How to Use
- Errors
- Documentation Examples
- Ideally this library will be used by our affiliates in a real world setting, thus the documentation is extremely important.
- Detailed documentation of how to setup and use the library
-
- This is the least important of the 3 parts of the project
- Build an example site that showcases the library you JUST BUILT
- Ideas:
- A frontend tool that shows live request/responses
- The external API provides affiliates with information about activities provided by their partners, so it could be a simple activity “aggregator” site