Giter Club home page Giter Club logo

penn-sdk-node's Introduction

Penn OpenData Node SDK

Build Status

This is the Penn Open Data API implementation in NodeJS, currently with support for the registrar, directory, dining, transit, and map APIs. You can view the complete API reference here.

Install

To get started, just run

npm install penn-sdk

Overview

var api = require("penn-sdk")
Registrar = api.Registrar

registrar = new Registrar("API_USERNAME", "API_PASSWORD")
registrar.course("CHEM", "241", function(result) {
  console.log(result)
})

Requesting an API key

To use this library, you must first obtain an API token and password for the API you want to use, which can be done here.

Note: There are separate API tokens for each API.

Contributing

We'd love to accept pull requests! Also, file bugs or ask questions in GitHub issues if you have any problems.

Getting Started

  1. Fork the repository using GitHub's interface
  2. Git clone your repository using git clone YOUR_GIT_URL
  3. Install the required dependencies using npm install.
  4. Start editing the CoffeeScript source files in src.
  5. Write tests!
  6. Make a pull request back to the original repository.

Building

The SDK is written in CoffeeScript, so please make your changes in the CoffeeScript source files in src and they can be compiled into JavaScript using make js.

Testing

You can test the work you have using make test, which uses Mocha to run the tests inside of the test directory. You should have environment variables in your shell that specify your API keys in the format REGISTRAR_API_USERNAME and REGISTRAR_API_PASSWORD. If you prefer to have these tests run while you're editing automatically, you can run make watch from your terminal.

TODO

  • Open Data APIs
    • Implement registrar API
    • Implement directory API
    • Implement dining API
    • Implement transit API (Partial)
    • Implement map API
    • Implement news API
  • Publish to npm
  • Continuous testing using Travis CI
  • Return result_data in methods
  • Write full API documentation using jsdoc

Authors

  • Adel Qalieh

License

MIT Licensed

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.