WMudgeEllis / street_smart_fe

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Street Smart Front End Application

This is the front end to the street smart project. It is currently deployed on heroku here. This application is designed to allow users to add hazards that they see when out and about. Other users can view hazards, vote on the credibility of a hazard, and see walking safety information for their current location.

Street Smart Back End Repo

Live Deployment

Street Smart Dashboard

Database Schema

Screen Shot 2021-11-11 at 10 40 28 AM

Ruby/Rails versions

  • ruby 2.7.2
  • rails 5.2.6

Languages:

ActiveRecord CSS3 HTML5 Ruby JavaScript

Deployment Tools:

Heroku Circle CI Faraday

Development Principles

Instructions for local deployment

git clone git@github.com:WMudgeEllis/street_smart_fe.git

bundle install 

rails db:{create, migrate}

bundle exec figaro install

Access Constraints

  • To report new hazards on the application, users will need to authenticate using Google. The application landing page will show users a map with nearby hazards, but only after authentication can users create, vote on, and delete hazards.

Reporting Hazards

  • To report a hazard, authenticated users will need to drag and drop the pin on the dynamic map to the place where the witnessed the hazard. After moving the pin, the authenticated user will need to enter a tile, an optional description, and select whether the hazard is an animate or inanimate hazard.

Voting on Hazards

  • Authenticated users have the opportunity to vote on any hazard. Users can only upvote or downvote on a specific hazard once. Vote coutns are displayed on each hazards show page

Deleting a Hazard

  • After creating a hazard, an authenticated user has the ability to delete any of their own hazards. This allows for users to remove hazards with errors or that are no longer relevant to the commmunity.

Authorization for API usage

  • For successful local deployment, you will need to acquire credentials for Google OAuth2. More information can be found here
  • This application also requires authorization for the GoogleMaps JavaScript API. More information can be found here
  • After obtaining these credentials, they can be added to config/application.yml for safe storage through Figaro. More information on how to use the Figaro gem can be found here

How to run the test suite

bundle exec rspec

Contact Info

Linked In

Github

About


Languages

Language:Ruby 67.5%Language:HTML 18.3%Language:JavaScript 9.1%Language:CSS 3.1%Language:SCSS 2.0%