This developer guide refers to the TIGER program, developed by the DaltonCorp team.
This document explains how the software structure of TIGER is and suggest some guidelines in case you want to maintain or improve it.
TIGER will get Tweets from a local or directly from Twitter, and then extract their contents in order to display metric data in different charts.
The usages are more deeply defined in the End User Guide. Check it out whether you want to learn more about how to use TIGER.
All the functions of TIGER are splitted in different components, which makes upgradability better. Here is the list of all of them, including the external Node modules from other editors.
| Component | Description |
|---|---|
| tiger | Main component of the program and interface (console only) with the end user. It processes all the commands, then send and receive data with the other components |
| config | Contains configuration strings for getting data from Twitter's API |
| Parseur | Parent class for each Parseur |
| ParseurAPITweeter | (Inherits from Parseur) Get tweets using Twitter's API, then parse data of each tweet, and store all of them into a list |
| ParseurCSV | (Inherits from Parseur) Same idea as the previous one, but tweets are imported and parsed from a local CSV |
| DocGenerator | Goes through a specified TweetList and can extract data like top hashtag, or from a search, then data are formatted into a DOCX file which is finally exported on the hard drive |
| GraphGenerator | Same idea as the previous one but analyzes data and use VegaLite to export charts into a SVG file |
| Tweet | Structured type to store Tweet's data |
| TweetList | List of Tweets. Provide also some methods to find out the number of tweets for a specific time interval, the top retweet... |
| Node modules | Short description |
|---|---|
| async | Provides patterns to work with asynchronous code |
| caporal | Full-featured framework to create console applications |
| colors | Get colors in the Node.js console |
| docx | Generate .docx files |
| fast-csv | CSV parser and writer |
| inquirer | Provides common interactive command line interfaces |
| moment | Parse, validate, manipulate, and display dates |
| nodeunit | Easy unit testing |
| opencage-api-client | OpenCage provides tools to convert coordinates to and from places |
| promised-twit | Provides convenient functions to access Twitter's API (Twit) |
| vega | Vega is a visualization grammar, a declaration format for creating, saving, and sharing interactive visualization designs. |
| vega-lite | This is a concise high-level language for Vega |