Final project for the Flatiron School Software Engineering Bootcamp
An application designed to facilitate access to the coast in Rhode Island
LinkedIn
·
Contact Ben
·
Report a Bug
Video Presentation »
More Projects:
Congress Stock Watch: Live Deployment »
All Bike Trails »
Munchies »
Visualize »
Table of Contents
Outdoor Access Rhode Island is a React/Rails application (along with other technologies) designed to help facilitate access to the coast and other outdoor points of interest. After securely logging in, users will be able to create, track, edit, rate, upload photos and comment on different GPS locations.
Outdoor Access Rhode Island is designed to be simple to use while having a robust variety of features. The primary usage of the site involves the creation, viewing, and editing different locations of interest.
The most fully developed features of the application have to do with the secure sign-up and login. Using front-end HTML5 validations and custom Rails validations on the backend, the registration function does not allow for bad data to be submitted. Users must submit a unique email, username, and a strong password (caps, lowercase, symbol, number all required). Passwords are then kept secure using bcrypt, which scrambles the password storage to keep the database extra secure. Once registered, users can login for an enhanced experience and logout when finished. Many features are only available to logged in users, and are limited further still to editing only their own contributions.
One of the key functions of the website is to be able to create new places of interest to add to the database. Using the interactive map, users can click on the map to create a GPS tag in the new place they'd like to add. The positioning information is automatically captured, and the form asks for more details about the specific location. Areas that have the same name or that do not have enough information posted about them are rejected, again using validations to ensure no problematic data gets entered in to the database.
Once a place has been added, you are able to view it in a number of different ways. The homepage will display a select number of featured places, but specific spots can be searched also be search for on a map, by name, location, or access type. The overview map gives a view of the whole state with GPS tags on the access spots that have already been added.
After clicking on a outdoor access, the user will be brought to the page for that location. Here more details on the location are available including more photos, a GPS tagged map, amentities availablity, and comments left by users. A logged in user will be able to add and edit their own comments, add a star rating to the location, upload photos from their local machine.
If you would like to run a copy of this application locally, follow the instructions below. These will require you to be familiar with CLI and Git.
- Make sure that you have all the prerequisite technologies installed: Ruby 2.7.4, NodeJS (v16), NPM, PostgreSQL
- Fork/Clone to your local environment
- Install required gems and packages:
$ bundle install
$ npm install
- Seed and start the local database:
$ rails db:migrate
$ rails db:seed
$ rails s
- Run the frontend locally:
$ npm start --prefix client
Distributed under the MIT License. See LICENSE.md
for more information.
- Flatiron School for the excellent ciriculum
- OpenStreetMaps for allowing me use of their tile server
- All of the contributors to the various technologies used to create the project
- Special thanks to Sam, Al, Sharon, Alex, and Meg