-
Notifications
You must be signed in to change notification settings - Fork 13
Plan for Bus Arrival Dashboard App -- Lynne Cooney #9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
ilynne
wants to merge
2
commits into
frontend-application-development-uw20:master
Choose a base branch
from
ilynne:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,65 +1,69 @@ | ||
| # Week 7 Assignment | ||
|
|
||
| Your assignment for this week is to think of a final project idea and create a plan for the project. | ||
|
|
||
| ## Final Project Requirements | ||
|
|
||
| * The project must be a React application, bootstrapped with `create-react-app` | ||
| * Your app must be created and visible in a Github repo under your Github account | ||
| * Your app must be your own work. You may have a partner if you'd like, but be aware that you'll need to come up with a strategy for working together. Most developers on small projects create branches for new features/fixes, then merge them back into the `master` branch. Merge conflicts can arise, and you'll need to know how to resolve them. | ||
| * The simplest and most straightforward workflow for each team member: | ||
| ```bash | ||
| # create a branch off of master | ||
| git checkout master | ||
| git branch -b feat/new-feature-name | ||
|
|
||
| # commit code to this branch | ||
| git add . | ||
| git commit -m 'more code' | ||
|
|
||
| # periodically push to Github | ||
| git push | ||
| ``` | ||
| * Create pull requests on Github into the `master` branch when ready to merge code. It's recommended that you merge only working and/or tested code. | ||
| * Your app should be deployed onto a web server and publicly accessible (unless you decide to use React Native. In that case, it's recommended you use [Expo](https://expo.io/) to share the project). | ||
| * Your app should be polished. Some recommendations for this requirement: | ||
| * Remove `console.log` statements once you're finished with development | ||
| * Utilize CSS and images to make your app look great | ||
| * Check for any React errors in the console | ||
| * Perform some basic user testing. Have other people use your app and receive feedback on usability | ||
| * Keep your feature set small, so you'll have time to polish the app | ||
| * Write tests | ||
| * If you're feeling adventurous, you can also use React to build mobile apps using the [React Native](https://reactnative.dev/) framework. Usage is allowed for this project, **but** note that it will involve additional learning and research. Proceed at your own risk. | ||
|
|
||
| Other than the above requirements, you're encouraged to be creative and create something you're proud of. It can be as simple or as complex as you want, and it should be high quality. | ||
|
|
||
| ## Assignment Requirements | ||
|
|
||
| Above are the requirements for the project. For this week however, you'll need to create a plan for your project. More details are to come, but you'll need to create a pull request with the following: | ||
|
|
||
| * The name of your project | ||
| * An elevator pitch (a paragraph about what your project does). Be sure to address: | ||
| * Who will use your project | ||
| * The value that your project will provide to the end user | ||
| * [Wireframes](https://en.wikipedia.org/wiki/Website_wireframe) to help visualize what your project will look like | ||
| * These wireframes do not have to be high-fidelity. You're free to use boxes, hand drawings, tools such as Draw.io, etc. | ||
| * A list of dependencies you'll be using for your project (npm modules, APIs, Firebase, etc.) | ||
| * This list will likely change as you work on your project, but listing your dependencies will help you visualize the complexity of the project | ||
| * A list of tasks that need to be completed for your project | ||
| * Example list of tasks for the Star Wars films example: | ||
| * Setup `create-react-app` scaffold | ||
| * Call the Star Wars API and print results | ||
| * Store API results in React component state | ||
| * Render React state | ||
| * A plan for the next 3 weeks and what you plan to accomplish each week | ||
|
|
||
| ## Recommendations | ||
|
|
||
| * Keep the scope of your project small. A small, completed project is much better than a large, incomplete project. You can create a list of "nice to have" features that you can work on if you have time (similar to how our assignments have a main list of requirements and "bonus" items). | ||
| * Ensure you have plenty of buffer time in your schedule. Life events pop up, and tasks can take longer than initially estimated. | ||
|
|
||
| ## Submitting your Project Idea | ||
|
|
||
| 1. Fork this repository | ||
| 2. Add your project name, elevator pitch, wireframes, dependencies, task list, and plan to the Github repo (you can add a markdown file + images or links to images) | ||
| 3. Create a pull request | ||
| # Bus Arrival Dashboard | ||
|
|
||
| Google, OneBusAway, and other apps offer real-time bus arrival information. The OneBusAway app even displays animation with bus locations. | ||
|
|
||
| Sometimes you need something much simpler. I live close to two bus stops and different buses that can get me to my destination (work) stop at each of them. A dashboard listing only the buses I am interested in at only the stops I am interested in would be a very good thing in the morning. | ||
|
|
||
| The Bus Arrival Dashboard should group the buses by stop and sort them by arrival time. Color coding the arrival times would help me decide which stop to walk toward. | ||
|
|
||
| ## Wireframes | ||
|
|
||
| ### Sign in | ||
|  | ||
|
|
||
| ### Main page | ||
|  | ||
|
|
||
| ### Admin | ||
|  | ||
|
|
||
|  | ||
|
|
||
|  | ||
|
|
||
|  | ||
|
|
||
|  | ||
|
|
||
| ## Dependencies | ||
|
|
||
| * node-sass | ||
| * OneBusAway API | ||
| * A back end to send requests to OneBusAway API (Rails API app) | ||
| * A host | ||
| * Firebase for authentication and user data | ||
|
|
||
| ## Tasks | ||
|
|
||
| - [ ] Rails backend app | ||
| - Routes | ||
| - [ ] Fetch route info for bus | ||
| - [ ] Fetch arrival info for bus at stop | ||
| - [ ] Find host for Rails app | ||
| - [ ] Deploy to host | ||
| - [ ] Create React App | ||
| - [ ] Sign in | ||
| - [ ] Admin | ||
| - [ ] Main page | ||
|
|
||
| ## Plan | ||
|
|
||
| ### May 23-24 2020 | ||
|
|
||
| - [x] Create Rails backend API | ||
|
|
||
| ### May 30-31 2020 | ||
|
|
||
| - [ ] Find host and deploy Rails API | ||
| - [ ] Create React front end | ||
| - [ ] Authorization using Firebase | ||
| - [ ] Data storage using Firebase | ||
| - [ ] Admin page to add and remove buses and groups | ||
| - [ ] Main display | ||
|
|
||
| ### June 6-7 2020 | ||
|
|
||
| - [ ] Add navigation | ||
| - [ ] Add CSS styles | ||
| - [ ] Add any additional tests | ||
| - [ ] Deploy to host | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Once the front-end, I would double-check to make sure you don't run into any CORS issues when calling the Rails API from the React app. Let Tim or I know if you have any questions about this. |
||
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed, great idea.