Giter VIP home page Giter VIP logo

bike-station-finder's Introduction

Philly Bikeshare Station Finder

Summary:

The Philly Bikeshare Station Finder App (Hosted via GitHub Pages) was created as a hiring process challenge for a developer position at P'unk Avenue (and I got the job! ๐ŸŽ‰ ).

This app allows a user to input an address or an intersection to see the closest Indego bikeshare stations.
A user can click on a map cycle marker to display an info-window that shows the:

  • name of the station
  • address of station
  • number of bikes currently available
  • number of open docks currently available

Additionally this app has been integrated with the OpenWeatherMap API to display the current temperature and weather conditions. If the current weather conditions threaten to create hazardous riding conditions, a red weather alert banner will become visible above the weather header.

(Checkboxes for "get a bike" and "return a bike" do not currently affect results.)

Search area and Weather header

Search area and Weather header w/ Weather Warning

Technology Used:

HTML/CSS/Vanilla Javascript

Bash/Git, VSCode, Cyberduck, Postman, Chrome Devtools

APIs and fun stuff:

Indego GeoJSON (added to a Google Map as a data layer)
OpenWeatherMap API
GoogleMaps API
GoogleMaps Geocoding Service

My process and thoughts on making this app

Here's a somewhat messy but comprehensive GoogleDoc that outlines my planning for this app (including a rough mockup, user stories and user flows, checklist, etc).

I had a lot of fun making this. I learned quite a bit, hit some snags, did a lot of googling, reached out for help when needed and even did a little bit of pair programming with some trusted friends/mentors to get through some of the tougher obstacles.

Possible Improvements and things I wish were just better

Though the app technically works and (I believe) meets all the specified requirements, when the user inputs an address the map will zoom to that location but I was not able to set the proper parameters to ensure that at least 3 stations will be displayed nearby.
There's also a few of the "extra credit" features I wish I could have finished implementing such as getting the get-a-bike/return-a-bike filtering checkboxes working, adding a geolocation feature, having the marker color/style be based on bike/dock avaibility, and having both the weather and map details update in real time. I do plan on trying to implement as many of those as possible even now that the challenge duration is technically over, and I will update this when that happens.

I went over my code a lot to make sure it was consistent and had proper documentation but I am sure that it could be greatly improved with continued learning and practice with Javascript (YAY for learning and improving!).

Overall, I am both proud of and excited for what I was able to complete/accomplish/learn with this challenge, and am also definitely open to feedback on ways I could improve both my code and my process. ๐Ÿ˜„

Action Shots โšก

Screenshot of Philly Bikeshare App with search area and map

Screenshot of Philly Bikeshare App map section with markers and info window

bike-station-finder's People

Contributors

stacykgrimes avatar

Watchers

Jamie Gammel avatar

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.