Merge branch 'master' of https://github.com/florinpop17/app-ideas into feature/charity-finder-app
Refactor: Resolve merge conflicts with README.md on the `master` branchpull/65/head
commit
a73027667e
@ -0,0 +1,79 @@
|
||||
# Bug Race
|
||||
|
||||
**Tier:** 3-Advanced
|
||||
|
||||
In this project you will test your animation skills by creating a game that
|
||||
lets the user race bugs while trying to guess the winner. As part of this
|
||||
you'll need to provide the user with various controls that allow the game to
|
||||
be customized including bug icons, assigning names to the bugs, making a choice
|
||||
of who the winner might be, and bug speed.
|
||||
|
||||
### Constraints
|
||||
- The developer will need to select the bug icons to be used in the game
|
||||
- The developer should randomly adjust the speed of each bug before a race
|
||||
starts so they travel at different rates within the speed selected by the
|
||||
user (slow, normal, or fast).
|
||||
- It is up to the developer to define the speed ranges associated with the slow,
|
||||
normal, and fast speed setting.
|
||||
- You may use an animation library, but you'll get more out of this project
|
||||
if you try to implement it using native language features.
|
||||
|
||||
## User Stories
|
||||
|
||||
- [ ] User can see:
|
||||
- An input panel containing controls to configure the game's UI and
|
||||
operation.
|
||||
- A race track consisting of four horizontal lanes the bugs will travel in
|
||||
- A radio button associated with each lane to allow the user to select a
|
||||
potential winner
|
||||
- A 'Start' button.
|
||||
|
||||
### Game Controls
|
||||
- [ ] User can see the following controls in the input panel.
|
||||
- A list of race lane numbers with radio buttons for each showing
|
||||
thumbnails for three unique bugs, and a text box the user can use to
|
||||
give the bug a name.
|
||||
- An Speed selection control with three radio buttons - Slow, Normal, Fast
|
||||
- [ ] User can click a radio button to select the bug icon to be assigned
|
||||
to a lane.
|
||||
- [ ] User can see an warning message if the same icon is selected for more
|
||||
than one lane.
|
||||
- [ ] User can enter a name for the bug in each lane.
|
||||
- [ ] User can see an error message if the same name is repeated for more than
|
||||
one bug.
|
||||
- [ ] User can select the bug speed by clicking one of the Speed radio buttons
|
||||
|
||||
### Racing
|
||||
|
||||
- [ ] User can select a potential winner by clicking on the radio button on
|
||||
any lane.
|
||||
- [ ] User can start a race by clicking on the 'Start' button
|
||||
- [ ] User can see the 'Start' button is disabled until the race is over
|
||||
- [ ] User can see an error message if no winner was selected.
|
||||
- [ ] User can see bugs race across their assigned lane to the finish line
|
||||
- [ ] User can see all bugs stop moving when the first one reaches the finish
|
||||
line
|
||||
- [ ] User can see game metrics updated to show the number of races run in
|
||||
this session.
|
||||
|
||||
## Bonus features
|
||||
|
||||
- [ ] User can see race metrics for each bug showing the number of races
|
||||
run, number of wins, and number of losses.
|
||||
- [ ] User can see the winning bug bounce when it wins a race
|
||||
- [ ] User can see loosing bugs flip on their backs when they loose a race
|
||||
- [ ] User can hear unique sounds played when the race starts and ends.
|
||||
|
||||
## Useful links and resources
|
||||
|
||||
- [3D Bug Images](https://www.google.com/search?q=3d+bug+drawings&tbm=isch&source=hp&sa=X&ved=2ahUKEwjxkNT7--jhAhUI-6wKHW3_CgQQsAR6BAgHEAE&biw=1279&bih=550)
|
||||
- [Basic Animations (MDN)](https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Basic_animations
|
||||
)
|
||||
- [How to build a simple Sprite animation in Javascript](https://medium.com/dailyjs/how-to-build-a-simple-sprite-animation-in-javascript-b764644244aa)
|
||||
- [Javascript Animations](https://javascript.info/animation)
|
||||
|
||||
## Example projects
|
||||
|
||||
- [Arcade Game](https://jdmedlock.github.io/arcadegame/)
|
||||
- [Drag Race Animation](https://codepen.io/Delime/pen/IyuAr)
|
||||
- [Horse Race](https://codepen.io/nathanielzanzouri/pen/jVgEZY)
|
@ -0,0 +1,72 @@
|
||||
# GitTweet
|
||||
|
||||
**Tier:** 3-Advanced
|
||||
|
||||
In the [GitHub Timeline](./GitHub-Timeline-App.md) app you used GitHub's API to
|
||||
create a timeline of your repos. What could be more powerful that using an API
|
||||
such as this? Why using two API's, of course.
|
||||
|
||||
The goal of GitTweet is to create a GitHub app to tweet when a pull requst
|
||||
is created for one of your repos.
|
||||
|
||||
## User Stories
|
||||
|
||||
- [ ] User can see an input area tabular display prepopulated with rows for
|
||||
each of the GitHub repos she owns and a selection checkbox next to each repo
|
||||
name, a single input date field, and a 'Scan' button.
|
||||
- [ ] User can click the checkboxes in the repo list to select or deselect
|
||||
repos for processing.
|
||||
- [ ] User can enter a date into the date field. This defines the point after
|
||||
which any new PR requests will be tweeted.
|
||||
- [ ] User can click the 'Scan' button to identify repos that have had a new
|
||||
PR created that has not been previously tweeted. In other words. Consecutively
|
||||
entering the same date to scan from should only generate tweets for PR's that
|
||||
have not yet been tweeted.
|
||||
- [ ] User can see an error message if no date was entered, if it is not a
|
||||
valid date, or if it is a future date.
|
||||
- [ ] User can see repos highlighted if a tweet will be generated for them
|
||||
and the 'Scan' button will change to 'Tweet'.
|
||||
- [ ] User may deselect a repo by clicking on its checkbox. Doing this will
|
||||
change the button back to 'Scan' and clicking it will repeat the search for
|
||||
repos that have had new PR's (not yet tweeted) created since the scan date
|
||||
entered by the user.
|
||||
- [ ] User may enter an new scan date at this point which also changes the
|
||||
button back to 'Scan'.
|
||||
- [ ] User may click the 'Tweet' button to send a tweet bearing the following
|
||||
message - `Pull Requst #<pr-number> created for repo <repo name> - <repo description>`.
|
||||
- [ ] User can see this tweet send from her Twitter account.
|
||||
|
||||
## Bonus features
|
||||
|
||||
- [ ] User does not need to manually enter a scan date. If omitted the scan
|
||||
will resume from the last scan date which must persist across sessions.
|
||||
- [ ] User may enter a custom tweet message
|
||||
- [ ] User repo selections will persist across sessions so they do not have
|
||||
to be reselected each time.
|
||||
|
||||
## Useful links and resources
|
||||
|
||||
- [Twitter Developer Docs](https://developer.twitter.com/en.html)
|
||||
- [GitHub Apps](https://developer.github.com/apps//)
|
||||
- GitHub offers two API's you may use to access repo data. You may also choose
|
||||
to use an NPM package to access the GitHub API. Documentation for the GitHub
|
||||
API can be found at:
|
||||
|
||||
- [GitHub REST API V3](https://developer.github.com/v3/)
|
||||
- [GitHub GraphQL API V4](https://developer.github.com/v4/)
|
||||
|
||||
Sample code showing how to use the GitHub API's are:
|
||||
|
||||
- [GitHub REST API client for JavaScript ](https://github.com/octokit/rest.js/)
|
||||
- [GitHub GraphQL API client for browsers and Node](https://github.com/octokit/graphql.js)
|
||||
|
||||
You can use this CURL command to see the JSON returned by the V3 REST API for
|
||||
your repos:
|
||||
|
||||
```
|
||||
curl -u "user-id" https://api.github.com/users/user-id/repos
|
||||
```
|
||||
|
||||
## Example projects
|
||||
|
||||
[Zapier GitHub Integration](https://zapier.com/apps/github/integrations/twitter)
|
@ -0,0 +1,63 @@
|
||||
# Pearson Regression
|
||||
|
||||
**Tier:** 1-Beginner
|
||||
|
||||
There are few, if any, applications that don't require some form of
|
||||
cross-disciplinary knowledge in order to implement useful functionality for
|
||||
a user. In the case of an app for the medical profession it might be domain
|
||||
expertise in biology or pharmacology. A paint manufacturer or a crop science
|
||||
business might rely on apps with an intimate knowledge of chemistry. And, a
|
||||
payroll application will certainly incorporate HR and accounting concepts.
|
||||
|
||||
Regardless of the industry segement an app is developed for one cross domain
|
||||
expertise in common with them all is mathematics. As an application developer
|
||||
you don't have to be a mathemetician, but it's useful to have an understanding
|
||||
of how to apply mathematical concepts to the problems you are trying to solve.
|
||||
|
||||
The objective of this app is to apply the Pearson Correlation Coefficient
|
||||
against two sets of data to provide the user with the degree to which they
|
||||
may or may not be related. For example, given a set of temperatures and another
|
||||
set of car prices this would let the user test whether or not they are related
|
||||
(spoiler alert: they are unrelated!).
|
||||
|
||||
### Constraints
|
||||
|
||||
- The Developer must program all calculations without relying on a package.
|
||||
|
||||
## User Stories
|
||||
|
||||
- [ ] User can see an input panel with two input fields allowing entry of `x`
|
||||
and `y` coordinates, and 'Add' and 'Calculate' buttons.
|
||||
- [ ] User can enter numbers into these boxes where `x` and `y` are observations
|
||||
from the two data sets.
|
||||
- [ ] User can click the 'Add' button to add the `x` and `y` to a tabular
|
||||
output area listing the pairs of observations.
|
||||
- [ ] User can see and error message if either of the two input fields are
|
||||
empty or do not contain valid real numbers.
|
||||
- [ ] User can see the 'Calculate' button is disabled until errors have been
|
||||
corrected.
|
||||
- [ ] User can click the 'Calculate' button to perform the regression analysis
|
||||
and to display its results.
|
||||
- [ ] User can see results of the calculation which include:
|
||||
- Arithmetic means for both the `x` and `y` observations
|
||||
- Standard deviations for both the `x` and `y` observations
|
||||
- Pearson correlation coefficient with one of the following interpretations:
|
||||
- No correlation
|
||||
- Neutral
|
||||
- Some correlation
|
||||
|
||||
## Bonus features
|
||||
|
||||
- [ ] User can see a scatter plot of the observations
|
||||
- [ ] User can upload observations from a file on the local machine.
|
||||
- [ ] User can see a regression line overlaying the scatter plot
|
||||
|
||||
## Useful links and resources
|
||||
|
||||
- [Pearson Correlation Coefficient (Wikipedia)](https://en.wikipedia.org/wiki/Pearson_correlation_coefficient)
|
||||
- [Linear Regression](https://en.wikipedia.org/wiki/Linear_regression)
|
||||
- [Pearson's Correlation Coefficient](http://www.code-in-javascript.com/pearsons-correlation-coefficient-in-javascript/)
|
||||
|
||||
## Example projects
|
||||
|
||||
[Correlation](https://memory.psych.mun.ca/tech/js/correlation.shtml)
|
Loading…
Reference in new issue