Coder Social home page Coder Social logo

kaohman / national-parks Goto Github PK

View Code? Open in Web Editor NEW
1.0 0.0 3.0 62.65 MB

A React app for with an interactive map of all 58 U.S. National Parks and information about each park. Users can save parks to their visited and bucket lists.

Home Page: https://kaohman.github.io/national-parks/

HTML 1.36% CSS 5.60% JavaScript 93.05%

national-parks's Introduction

National Parks

See it Live!

Mark My Parks on GitHub Pages

Set-Up Front-End:

Clone this repo
Run npm install from the root directory
Run npm start and visit localhost:3000 in your browser

Background / About:

There is a great deal of information available from the National Park Serivce on parks throughout the United States. However their website can be difficult to navigate through to get to a park you are interested. There is also not an option to save parks you would like to visit.
Mark My Parks provides an easy to use interface where users can explore national parks across the United States. Users can also use the information and save preferences below to plan future trips:

  • Find an overview of each park including a direct link to the National Park Service's webpage for that park
  • Save parks to their personal Bucket List or Visited Parks list
  • View parks only in their Bucket List or Visited Parks list

Primary Technologies Used:

  • React
  • Redux
  • Leaflet
  • Javascript
  • HTML
  • CSS/SCSS
  • National Park Service API

Testing:

Jest and Enzyme for front-end testing.
Run npm test from the root directory

Enhancements:

Additional enhancements we would like to include in the future

  • Functionality to plan/save a trip export route between parks to Google Maps
  • Add Geolocation API to find parks near your current location
  • Include additional monuments and historic sites run by the National Park Service and parks in other countries
  • Ability for users login to rate and comment on parks they have visited.
  • Ability for search by park name

Preview:

Original Assignment:

Whateverly project from Turing School of Software and Design

DTR Memo:

https://gist.github.com/trbachmann/ceb360e8cf0d946281cdba7091e4e484

Contributors:

Karin Ohman
Adam Niedzwiecki
Tiffany Bachmann

Wireframes:

Original wireframes
Original wireframes cont

national-parks's People

Contributors

kaohman avatar trbachmann avatar adamn8142 avatar

Stargazers

 avatar

national-parks's Issues

When viewing Visited, the user should be able to...

  • View a map with just visited parks displayed.
  • Click on visited park markers to view pop-up with more info about the park.
  • Remove parks from visited in park pop-up.
  • Have visited parks persist on reload.
  • Click on "show all states" button to see all parks.

When viewing State display, the user should be able to...

  • View the map zoomed to the selected state with parks shown for that state.
  • View the state name and details about the state and associated parks in the state.
  • View a bar graph of the state's population and annual visitors in each park in the state.
  • Click on "show all states" button to hide state info and view all states on the map.

Setup SCSS files

  • Create styles folder
  • Create .scss files for each component, mixins, variables, etc.

When viewing Bucket List, the user should be able to...

  • View a map with just bucket list parks displayed.
  • Click on bucket list park markers to view pop-up with more info about the park.
  • Remove parks from bucket list in park pop-up.
  • Have bucket list parks persist on reload.
  • Click on "show all states" button to see all parks.

Geolocation API

Incorporate geolocation API to get user's location/parks near user - export to google maps?

When viewing Home page, the user should be able to...

  • View a map of the United States with all National Parks identified with markers.
  • Hover over a point on the map so I can see the name of the National Park.
  • Click on a park icon on the map and pull up a preview of the selected park.
  • Click on "show favorites" button which will update the map to only show favorites.
  • Click on "show bucket list" button which will update the map to only show parks on the to visit list.
  • Click on "show all states" button to reset the map.
  • Search parks by state to display state information.

Show State Functionality

  • State card pops-up below map when state is chosen.
  • Map zooms to state - zoom transition?
  • Map displays only parks within given state.
  • Hide state display button can be clicked and hides state details, resets select.

Bucket List Functionality

  • View bucket list button can be clicked, checks local storage and updates the map via App's state, current parks and re-render of map.
  • Icon in pop-up can be clicked.
  • When icon is clicked, add to local storage
  • When icon is clicked, also updates number in button below map.

Update images on park card

  • Add in caption and credit
  • Add slideshow of all available images on large park card
  • Make map/cards larger on screen

Style Pages

  • Landing Page
  • Homepage
  • Parks pop-up - also need icons for visited/bucket list
  • State display
  • Style buttons in park pop-up to be centered, colors matching marker icons etc. - Tiffany
  • Add hover text pop-up on visited/bucket list icons. - Tiffany
  • Add hover state to delete icon on park pop-up, color red and increase size slightly - Tiffany
  • Set description height and include overflow scrollbar. - Tiffany
  • Remove button styling on icons - Tiffany
  • Increase icon size on hover - Tiffany
  • Figure out overlay issue - Karin
  • Look into changing map icons to green -Karin
  • Style state card, add chart. - Adam

Create backend

  • Create backend to cache API data
  • Allow users to create accounts and store visited/bucket lists
  • All users to post comments and rate parks

Visited List Functionality

  • View visited list button can be clicked, checks local storage and updates the map via App's state, current parks and re-render of map.
  • Icon in pop-up can be clicked.
  • When icon is clicked, add to local storage
  • When icon is clicked, also updates number in button below map.

Add Landing Page

  • Switch statement/landing page on App.js
  • Add component for landing page

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.