howsmydriving-nyc
v0.1.55
Published
NYC region plug-in for @HowsMyDrivingWA.
Downloads
75
Maintainers
Readme
Region plugin template for @HowsMyDrivingWA to add a new city/region.
@HowsMyDrivingWA supports plug-in npm modules to add additional cities/regions.
This project is a template that you can copy and add your code to in order to implement your favorite region.
Requirements:
- The region must have #OpenData citations searchable by license # (obvs).
- The module must export an object named Region that implements the IRegion interface (see HowsMyDriving-Utils project).
- The Region.name property must be unique among existing regions consumed by HowsMyDrivingWA project.
- Implement the GetCitationsByPlate and ProcessCitationsForRequest methods.
- Write unit tests and make sure they are 100% passing.
- Test it within an actual Twitter bot (you can remix this Glitch project).
- Submit a pull request to HowsMyDrivingWA project.
- Provide technical support if bugs are found in your module.
export class NYCRegion extends Region {
constructor(name: string) {
super(name);
}
GetCitationsByPlate(plate: string, state: string): Promise<Array<Citation>> {
return new Promise<Array<Citation>>((resolve, reject) => {
// Your code to get the citations and return as an array.
//
// The objects you return must implement ICitation but can have
// any number of additional properties.
// Note: AWS DynamoDB is currently used as the store which means that
// none of the properties of your returned objects can be undefined
// or empty strings because the world's richest man seems to think
// that makes sense.
});
}
ProcessCitationsForRequest(
citations: ICitation[],
query_count: number
): Array<string>
let tweets: Array<string> = [];
// Your code to create the list of tweets you want posted.
// It is OK for any or all of the strings to be > 280 chars
// in length. They will be split into multiple tweets on a line
// break if one exists (if not, it will be split at 280 chars).
// Return the strings in the order they should be tweeted.
return tweets;
}
}
Adding a new region module to HowsMyDriving .env file (you'll need @GlenBikes to invite you to the project as a collaborator):
The string you give for the region is the npm module name (i.e. what you'd specify in an import statement to import your project).
{
REGIONS="howsmydriving-seattle, howsmydriving-dummy, your-new-region"
}
How to contribute: CONTRIBUTING.md.
Find this useful? Buy @GlenBikes a coffee
Powered by Glitch
\ ゜o゜)ノ