GithubHelp home page GithubHelp logo

gaj23 / bigbirds Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 5.58 MB

A React app that uses React-Hooks to display eBird RESTful API data for a new birder!

Home Page: https://bigbirds.vercel.app/

HTML 1.03% CSS 0.27% JavaScript 98.70%

bigbirds's Introduction

Hi, I'm Gabrielle (she/her)

I'm a novice Ornithologist and a Software Engineer.

gaj23

gaj23

Languages and Tools:

circleci css3 cypress express git html5 javascript jest mocha nodejs postman react sass travisci webpack

  • ๐Ÿ”ญ Iโ€™m currently working on BigBirds

  • ๐ŸŒฑ Iโ€™m currently learning PWAs & React Native

  • ๐Ÿ‘ฏ Iโ€™m looking to collaborate on FaceIt

  • ๐Ÿค Iโ€™m looking for help with PenPosts

  • ๐Ÿ‘จโ€๐Ÿ’ป All of my projects are available on GitHub

  • ๐Ÿ’ฌ Ask me about React, Router, SASS/SCSS, Cypress, Chai/Mocha

  • ๐Ÿ“ซ How to reach me [email protected]

  • ๐Ÿ“„ Know about my experiences through my resume

  • โšก Fun fact I've seen 197 species of birds.

Connect with me:

gaj23

bigbirds's People

Contributors

gaj23 avatar

Watchers

 avatar

bigbirds's Issues

Add PropTypes

Story

As a dev, I want to download propTypes so that I can add them to my components.

Acceptance Criteria

How will we know that the user story is complete?

As a dev, when I put in a false data types in a variable, I will see a helpful error in my console telling me that it was expecting an array of objects rather than an array of numbers.

Concerns

  • need to download, too.

Top 100 list

Story

As a user, I want to click the top 100 button so that I can see a checklist of possible birds.

Acceptance Criteria

How will we know that the user story is complete?

As a sighted user, when I click top 100 I see a list of top 100 birds in the area. I am able to click the check marks. Upon refresh, the check mark doesn't persist.

Concerns

  • When checked, it pushes into the "sighted" array existing in another components (later)
  • will eventually apply Details, but for now, it's not needed.

Sightings List

Story

As a user, I want to click the sightings button so that I can know what birds I've seen.

Acceptance Criteria

How will we know that the user story is complete?

When I click the sightings button on the nav bar, I will be take to a list of birds with dates that I spotted the bird on.

Concerns

  • Do I have a file with this data?
  • {date: mm/dd, speciesCode: asdf}

Static Homepage Testing

Story

As a dev, I want to use cypress so that I can test parts of the homepage.

Acceptance Criteria

How will we know that the user story is complete?

As a dev, in run npm run cypress in the console and am able to see that all the tests pass as they go through the static homepage.

Concerns

  • Check url in clicks later, but do click now anyways.

Cypress List testing

Story

As a dev, I want to apply cypress testing so that I can ensure user flow from home to top 100 and then home to personal sightings is functioning as expected.

Acceptance Criteria

How will we know that the user story is complete?

As a dev, when I apply fixtures and sub api calls to test this user flow, all my related tests will pass.

Concerns

  • if I don't need to stub data for my mock files, should I just use the mock files or something smaller?

Static Home Page

Story

As a user, I want to go to the home page so that I can see a static view.

Acceptance Criteria

How will we know that the user story is complete?

As a sighted user, when I visit the home page, I will see a header, a navigation bar, and a bird yet seen highlight. When I try to click on one of the nav buttons, nothing happens. When I try to click a bird yet seen, nothing happens.

Concerns

  • App uses hooks
  • Semantic HTML
  • add Nav components
  • add Highlight components (hard coded)

Sightings Updated in Cypress

Story

As a dev, I want to apply cypress so that I can test user flow of adding a newly sighted bird.

Acceptance Criteria

How will we know that the user story is complete?

As a dev, when I run cypress tests to check the user flow of adding a new bird to the seen list all test should pass.

Concerns

  • how do I ensure that data is persisting?
  • what element do I need to check?
  • Do I need a form?

Randomize Highlighted Bird

Story

As a user, I want to go to the homepage so that I can see a new bird that I haven't seen yet.

Acceptance Criteria

How will we know that the user story is complete?

As a user, if I navigate home or to another list and then back home will see a new highlight bird based on birds that I haven't seen yet.

Concerns

  • make a list out of birds that are !sightings when compared to areaBirds

Update sighting list

Story

As a user, I want to check off a bird on the top list so that I can go to my seen list and see it's been updated.

Acceptance Criteria

How will we know that the user story is complete?

As a user, when I check off a new bird, I can navigate to my seen page and see that the new bird has been added to my list.

Concerns

  • how do I connect them?
  • What's updated first?
  • What's the 'controller'

Always ok on Refresh

Story

As a dev, I want to ensure on refresh that a user never sees an unfriendly error.

Acceptance Criteria

How will we know that the user story is complete?

As a user, when I click refresh several times on the homepage, I am either greeted with an error message of a cute owl or I see a newly randomized bird.

Concerns

  • Is the refresh consistent?
  • Does it happen because a call is being done too often?

refactor JSON

Story

As a dev, I want to refactor localStorage so that I can create a concentrated file and maintain a solid data model.

Acceptance Criteria

How will we know that the user story is complete?

As a dev, I will see a separate file that's being imported whenever a call to localStorage needs to occur.

Concerns

  • import & export
  • make an object

Loading Component

Story

As a user, I want to see a loading message so that I can know the site isn't broken .

Acceptance Criteria

How will we know that the user story is complete?

As a user, when I navigate home, I see a loading message asking me to "please wait".

Concerns

  • When should this be called? /What component

SASS

Story

As a dev, I want to apply SASS so that I can utilize variables and mixins to minimize redundancy in styling.

Acceptance Criteria

How will we know that the user story is complete?

As a dev, when I open the project, I can see in the file structure sass files and partial files. I see that inside of component files, sass variables and mixins are being imported and applied.

Concerns

  • download sass
  • create sass file structure
  • import partial sass files into main
  • import sass file into component files
  • start with color variables
  • move on to borders
  • media queries included.

Adaptive Design & Media Queries

Story

As a user, I want to visit the site on my desktop.

Acceptance Criteria

How will we know that the user story is complete?

As a sighted user visiting the site on the desktop, I will easily navigate between different spaces and have a properly adjusted images and fontsizes.

Concerns

  • Am I using responsive units on all pieces?
  • Where should media queries live? In their own folder or inside of the css of each component?

Guess That Bird based on Yet to See birds

Story

As a user, I want to go to the homepage so that I can see a new bird that I haven't seen yet.

Acceptance Criteria

How will we know that the user story is complete?

As a user, if I navigate home or to another list and then back home will see a new highlight bird based on birds that I haven't seen yet.

Concerns

  • make a list out of birds that are !sightings when compared to areaBirds

Router Applied

Story

As a dev, I want to open App so that I can see that Router is being applied to the home page .

Acceptance Criteria

How will we know that the user story is complete?

As a user, I see in the url that it changes to localhost:3000/home

Concerns

  • Switch? Is it necessary?

File Structure

Story

As a dev, I want to open this repo on my local so that I can easily navigate through the file structure.

Acceptance Criteria

How will we know that the user story is complete?

As a dev, I will be able to open and understand the components of this project and their relation to one another with clear naming processes.

Concerns

  • Settle on naming conventions
  • components with a capital 'C'

Link for Guess that Bird

Story

As a user, I want to click on a guess that bird so that I can see if my guest is right or not.

Acceptance Criteria

How will we know that the user story is complete?

As a sighted user, I can click on the "Guess that Bird" image and be taken to a detailed version about this bird.

Concerns

  • Where is the data coming from?
  • Where does this data exist?

Hard coded Pictures

Story

As a user, I want to see images so that I can know what the bird looks like.

Acceptance Criteria

How will we know that the user story is complete?

As a dev, I will see in the data folder a file with an array of objects that contain two properties: img url & bird code.
As a user, when I go to the details page or when I am on the highlight page, I will see an image of the appropriate bird.

Concerns

  • cap the amount of images
  • have back up image
  • put inside of data folder as well
  • object with two properties (name & image url)

Hard Coded "Sighting"

Story

As a dev, I want to mock sighting data so that I can simulate app behavior if a user was able to interact with the app & post data to the server.

Acceptance Criteria

How will we know that the user story is complete?

As a dev, I will see a data folder with a file containing mocked "sighting" data of the same format as the API data.
As a user, I will see a list of birds that I've seen and on what date.

Concerns

  • What do I want the mock data to hold?
  • probably date & codename for species
  • logic will come later.

About Developer Page

Story

As a user, I want to see an about page so that I can learn more about the developers of the app.

Acceptance Criteria

How will we know that the user story is complete?

As a sighted user, I can click the "About" page and read about the developer, their motivation, see their lifelist, and links to other social media sites if I want to get in touch.

Concerns

  • Generate lifelist, is that a possible endpoint?
  • Add social media sites
  • add motivation
  • Add testing

Authentication

Story

As a user, I want to sign in to my account so that I can see my personal data .

Acceptance Criteria

How will we know that the user story is complete?

As a sighted user, when I sign in to my account, I can view my specific life list.

Concerns

  • What type of BE do I want to utilize?
  • for initial use, should data persist if a user changes something? --leaning towards no
  • What authentication system do I want to use? AuthO, Firebase?

Error Component

Story

As a user, I want to see an error message so that I can know when there's been a problem.

Acceptance Criteria

How will we know that the user story is complete?

As a user, when I go to the home page and there's been a problem, I will see an error message.

Concerns

  • Where does this component belong & where should it render?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.