michaelfriedman / trailquest

TrailQuest - Find a great trail to hike in Washington.

Home Page:https://capstone-g40.herokuapp.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

  _______        _ _  ____                  _   
 |__   __|      (_) |/ __ \                | |  
    | |_ __ __ _ _| | |  | |_   _  ___  ___| |_ 
    | | '__/ _` | | | |  | | | | |/ _ \/ __| __|
    | | | | (_| | | | |__| | |_| |  __/\__ \ |_ 
    |_|_|  \__,_|_|_|\___\_\\__,_|\___||___/\__|

TrailQuest

Developed by: Michael Friedman

Summary

TrailQuest is an app for finding cool trails to hike (currently in Washington State only). Finding good information about local trails can be tedious, so TrailQuest makes it easy. The app allows users to search for any trail in Washington by region and by description. Registered users can review trails that they have had the opportunity to hike, and share their insights with other users.

The community element to the application allows for users to organize group hikes that other users can register for.

Screenshots

Mobile Gif Mobile Landing Mobile Landing Below Fold Mobile Landing Open Modal Mobile Landing Open Modal Below Fold Mobile Search Menu Open Mobile Registration Mobile Login Mobile Review Mobile Review Submitted Mobile Events Page Mobile Events Detial Mobile Events Register Mobile User Profile Mobile User Registered Events Mobile Users Reviews Mobile Search Regions

Data Scraper & TrailQuest API

There was not enough robust data available on Washington State trails available in a public API for me to build this project. All of the data made available in this application was gathered using a custom web scraping program that I wrote in Node using an NPM package called Cheerio.

The scraping script 'hikeScraper.js' can be found in the 'scraper' directory of this repository. The script parses the Washington State Trails Association website where it gathers the URLs for every single hike in their database. After gathering all of the web addresses for each individual hiking trail, it then loads the HTML from every individual URL and creates a trail object for each page, where the key values are either textual information or various data attributes from DOM nodes which are displayed on the pages which have been parsed.

Deployment

This application was deployed using Heroku with the create-react-app build-pack. The create-react-app buildpack can be found here: create-react-app buildpack. The database is hosted using the Heroku PostgreSQL addon.

Technology Stack

Front End

  • React
  • react-router v3

Server

  • Node
  • Express

Database & Server Queries

  • Knex
  • PostgreSQL

APIs

  • Google Maps API
  • Cloudinary API
  • TrailQuest Restful API

Dependencies

  • bCrypt
  • morgan
  • body-parser
  • jsonwebtoken
  • boom
  • cookie-parser
  • react-bootstrap
  • Axios
  • react-google-maps
  • react-datepicker

Future Plans

Rebuild with Redux and Redux Sagas for state management. Rebuild as a Universal application with Next.js. Implement PropTypes and type checking.

Issues & Contributions

To contrbute to this open source project, please fork and clone this repository, then submit a pull request.

License

SEE 'LICENSE'(MIT)

About

TrailQuest - Find a great trail to hike in Washington.

https://capstone-g40.herokuapp.com/

License:MIT License


Languages

Language:JavaScript 98.6%Language:HTML 1.4%