Feature: Add GitHub Status app specification

Add GitHub Status app specification

Resolves: N/a
See also: N/a
pull/48/head
jdmedlock 7 years ago
parent 85668fc154
commit 5252cd9746

@ -0,0 +1,54 @@
# GitHub Status
**Tier:** 1-Beginner
Web apps acquire data in many ways. Through user input in web pages, through
API's to backend systems, from files and databases, and sometimes by "scraping"
websites. The objective of the GitHub Status app is to introduce you to one
way to scrape information from another web site.
GitHub Status uses the NPM Request package to retrieve the current GitHub site
status from the [GitHub Status](https://www.githubstatus.com/) web site. The
Request package allows websites to be retrieved not to a browser window, but
as a JSON document that can be readily accessed by your code.
Although this application specification relies heavily on Javascript, feel free
to develop it using your language of choice!
## User Stories
- [ ] User can see the current status for GitHub Git operations, API Requests,
Operational Issues, PRs, Dashboard, & Projects, Operational Notifications,
Operational Gists, and Operational GitHub Pages as a list in the main app
window.
- [ ] User can retrieve the most recent status from the GitHub Status web
site by clicking a 'Get Status' button.
## Bonus features
- [ ] User can see any of the GitHub components that are not in 'Operational'
status highlighted by a different color, background animation, or any other
technique to make it stand out. Use your imagination!
## Useful links and resources
- [Web Scraping (Wikipedia)](https://en.wikipedia.org/wiki/Web_scraping)
- [NPM Request](https://www.npmjs.com/package/request)
- [Javascript JSON (MDN)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON)
- [Javascript Object Notation](https://json.org/)
- Hint! You can use the following code to display the JSON for the GitHub Status
web site page from the command line command `node ghstatus`. You can use this
output to determine which JSON element contain the status information you'll
need to develop this app.
```
ghstatus.js
const request = require('request');
request('https://www.githubstatus.com/', { json: true }, (err, res, body) => {
console.log(body);
});
```
## Example projects
N/a

@ -50,6 +50,7 @@ required to complete them.
| [🌟Countdown Timer](./Projects/Countdown-Timer-App.md) | Event Countdown timer | 1-Beginner |
| [CSV2JSON App](./Projects/CSV2JSON-App.md) | CSV to JSON converter | 1-Beginner |
| [Flip Image](./Projects/Flip-Image-App.md) | Change the orientation of images across two axes | 1-Beginner |
| [🌟GitHub Status](./Projects/GitHub-Status-App.md) | Display Current GitHub Status | 1-Beginner |
| [JSON2CSV App](./Projects/JSON2CSV-App.md) | JSON to CSV converter | 1-Beginner |
| [🌟Key Value](./Projects/Key-Value-App.md) | Keyboard Event Values | 1-Beginner |
| [Lorem Ipsum Generator](./Projects/Lorem-Ipsum-Generator.md) | Generate lorem ipsum placeholder text | 1-Beginner |

Loading…
Cancel
Save