tvaroglu / spot_me_frontend

SpotMe is a 10-day, 6 person project, during Mod 3 of 4 for Turing School's Back End Engineering Program.
https://spotme-app.herokuapp.com
3 stars 1 forks source link
apis microservices oauth2 rspec-rails ruby-on-rails
# [SpotMe](https://spotme-app.herokuapp.com/) [![Contributors][contributors-shield]][contributors-url] [![Issues][issues-shield]][issues-url] [![Stargazers][stars-shield]][stars-url] [![Forks][forks-shield]][forks-url] ![Build Badge][build-badge]


Finding a gym buddy to help maintain motivation for a long-term fitness regimen can be a challenging (and sometimes awkward) task... enter SpotMe! SpotMe is a database-driven web application in which users can register with their gym(s) of choice, and find other registered users to share in their collective workout experience. --- ## Contributors |Brian Fletcher|Caroline Tan|Ezzedine Alwafai|Gunnar Runkle|Scott Borecki|Taylor Varoglu |--- |--- |--- |--- |--- |--- | |[GitHub](https://github.com/bfl3tch)|[GitHub](https://github.com/carolinectan)|[GitHub](https://github.com/ealwafai)|[GitHub](https://github.com/gunnarrunner)|[GitHub](https://github.com/Scott-Borecki)|[GitHub](https://github.com/tvaroglu) |[LinkedIn](https://www.linkedin.com/in/bfl3tch/)|[LinkedIn](https://www.linkedin.com/in/carolinectan/)|[LinkedIn](https://www.linkedin.com/in/ezzedine-alwafai/)|[LinkedIn](https://www.linkedin.com/in/gunnar-runkle/)|[LinkedIn](https://www.linkedin.com/in/scott-borecki/)|[LinkedIn](https://www.linkedin.com/in/taylorvaroglu/) ## Table of Contents |Links |--- | [Tools Used](#tools-used) [Setup](#setup) [Learning Goals](#learning-goals) [Database Schema](#database-schema) [Wireframes](#wireframes) ## Tools Used |Development|Development|Testing|Deployment |--- |--- |--- |--- | |[Ruby 2.7.2](https://www.ruby-lang.org/en/downloads/)|[Git](https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup)|[RSpec for Rails](https://github.com/rspec/rspec-rails)|[Heroku](http://virtual-watch-party.herokuapp.com)| |[Rails 5.2.6](https://rubygems.org/gems/rails/versions/5.2.6)|[Github](https://desktop.github.com/)|[Capybara](https://github.com/teamcapybara/capybara)|[CircleCI](https://circleci.com/)| |[Pry](https://rubygems.org/gems/pry/versions/0.10.3)|[Bootstrap](https://rubygems.org/gems/bootstrap/versions/4.0.0)|[Webmock](https://github.com/bblimke/webmock) |[PostgresQL](https://www.postgresql.org/)|[HTML5](https://developer.mozilla.org/en-US/docs/Web/HTML)|[VCR](https://github.com/vcr/vcr) |[Postico](https://eggerapps.at/postico/)|[CSS3](https://developer.mozilla.org/en-US/docs/Web/CSS)|[Launchy](https://rubygems.org/gems/launchy/versions/2.4.3) |[OmniAuth Google OAuth2](https://github.com/zquestz/omniauth-google-oauth2)|[Rubocop](https://rubygems.org/gems/rubocop/versions/0.39.0)|[FactoryBot](https://github.com/thoughtbot/factory_bot) |[Figaro](https://github.com/laserlemon/figaro)|[Atom](https://atom.io/)|[Faker](https://github.com/faker-ruby/faker) |[Faraday](https://github.com/lostisland/faraday)||[SimpleCov](https://rubygems.org/gems/simplecov/versions/0.12.0)| |[Postman](https://www.postman.com/product/rest-client/)|
## Setup

This project requires Ruby 2.7.2.

Project Configurations

## Learning Goals

    ⭐     Consume two or more external APIs which require authentication
    ⭐     Build APIs that return JSON responses
    ⭐     Use an external OAuth provider to authenticate users
    ⭐     Create a project with a separate frontend and backend
    ⭐     Organize and refactor code to be more maintainable
    ⭐     Implement a self-referential relationship in ActiveRecord
    ⭐     Use Rails to create web pages that allow users to CRUD resources
    ⭐     Create instance and class methods on a Rails model that use ActiveRecord methods and helpers
    ⭐     Write model and feature tests that fully cover data logic and potential user behavior
    ⭐     Utilize Continuous Integration via Travis CI or CircleCI
    ⭐     Deploy to Heroku
    ⭐     Implement a production-quality user interface using Bootstrap or other common CSS styling framework
    ⭐     Implement project management by using project boards, participating in daily stand-ups and retros
    ⭐     Utilize quality workflow practices: small commits, descriptive pull requests, and code reviews
    ⭐     Write thorough, understandable documentation
    ⭐     Apply RuboCop’s style guide for code quality

## Database Schema ## Wireframes [Home Page](#home-page) | [User Registration](#user-registration) | [User Dashboard](#user-dashboard) | [User Profile #1](#user-profile-no-1) | [User Profile #2](#user-profile-no-2) | [User Profile #3](#user-profile-no-3) | [Edit Profile](#edit-profile) | [Gym Index](#gym-index) | [Gym Show Page #1](#gym-show-page-no-1) | [Gym Show Page #2](#gym-show-page-no-2) | [New Event Page](#new-event-page) The following section displays a comparison of our vision and how our vision came to life. ### Home Page
Wireframe Production
### User Registration
Wireframe Production
### User Dashboard
Wireframe Production
### User Profile No. 1 When you visit your own profile
Wireframe Production
#### User Profile No. 2 When you visit the profile of a user you follow
Wireframe Production
#### User Profile No. 3 When you visit the profile of a user you do not follow
Wireframe Production
### Edit Profile
Wireframe Production
### Gym Index
Wireframe Production
### Gym Show Page No. 1 When you are not a member of the gym
Wireframe Production
### Gym Show Page No. 2 When you are a member of the gym
Wireframe Production
### New Event Page
Wireframe Production

Acknowledgements