Skip to content

nathankwon/escapegoat

Repository files navigation

Project Overview

To design, build, and deploy a two-sided marketplace using Ruby on Rails.

EscapeGoat is an app which helps people 'escape' from bad situations. By creating an Escape request, others users(Goats) can accept the request and help them escape! While the Goats receive payment for their services.

Tech Stack

  • HTML
  • CSS
  • Rails
  • Ruby
  • Javascript

Set-up Prerequisites

This iteration of EscapeGoat requires PostgresQL to manage database bases, such that we can deploy to Heroku. Furthermore, the ENV variables were set up and stored using Figaro.

Gem Requirements


Planning

This section will outline my planning process prior to writing any actual code. The items in this section were not implemented in the final product, as I adopted an agile development approach.

User Stories

User Stories via Trello

User Flow

User Flow via Google Drawing

Wireframes

Wireframe based on User Flow via MockPlus

ERD

ERD - Initial

Style Guide

I intended on planning and adding these features once the back end code was complete. However, due to time constraints I was unable to start this section.

CSS:

Colors:

Fonts:


Build Process

Create the app using postgresQL as the database:

rails new escapegoat --database=postgresql

add and configure Figaro

add and configure Bootstrap

add and configure Devise

add and configure Shrine --> using this guide: https://code.tutsplus.com/tutorials/uploading-files-with-rails-and-shrine--cms-27596

Create the Escape scaffold:

rails g scaffold Escape user:references rescue_title:text dollar_amount:decimal location:string description:text requirements:text

add and configure Geocoder

add and configure Google Maps API

add and configure Stripe

add and configure Messaging

add and configure Search Form

Configure the rails paths to suit UX

Problems

  • Hard to plan due to weak skillset.

  • Poor file name structure due to weak planning. e.g. The users profile is call photo in atom and the homepage is actually escape.index.

  • PostgresQL issues due to Windows.

  • Due to time constraints: No CSS styling, and I forgot to configure the api keys for production

  • No testing - Rspec does not work on windows