Skip to content

This is the main frontend part of a large group project we were tasked with in Module 3 at Turing School of Software & Design. The main project is meant to all the consuming of several API endpoints, integration with Sinatra and Travis CI as well as deploying to Heroku

Notifications You must be signed in to change notification settings

ggerdsen/Front-End

Repository files navigation

README

Front-End for Classroom Wars

Back End Repo: https://github.com/ggerdsen/Back-End
Microservice Repo: https://github.com/ggerdsen/Sinatra-Microservice-for-Classroom-Wars

Purpose of App

  • The main purpose of this repo is to serve as the frontend to the larger group project we're calling "Classroom Wars". The GitHub repo's can all be found here.

  • The inception of Classroom Wars came from the brilliant minds of some of the contributors of this project who, in a previous life, were teachers. They saw classrooms (especially remote classromms) inadequately using technology to engage students. This project seeks to remedy that issue.

Design

  1. The entire app is split into 3 repo's: Front-End, Back-End, and Sinatra. The front-end is responsible for the views that the user sees, as well as initiating the process of making API calls and database queries. The database exists on the back-end, and the actual API calls are made in the back-end as well.

  2. One of the first design decisions was to split API calls into facades (where the API methods are called, and objects created if needed) and services (where the API's are actually called). This adheres more to the single line responsbility principle.

Using the app

  • Follow the instructions below under "Set-up" to make sure you've got the correct environments

Set up

  1. Make sure you have the correct Ruby version installed (2.5.3). To check your Ruby version, from your command line, run ruby -v
  • If you do not have the correct version, follow the instructions to install 2.5.3: from the command line, run rbenv install 2.5.3
  1. Make sure you have the correct Rails version installed (5.2.4.3). To check your Rails version, from your command line, run rails -v
  1. Fork and Clone this repo
  2. Install gem packages: bundle install
  3. Setup the database: rails db:create
  4. Register with Google Api Console and follow steps for consent
  5. Add a Credential, select external use, web application, give your usage a title (like Google Login) and add this uri to the redirect field (LOCAL) http://localhost:3001/auth/google_oauth2/callback or (PRODUCTION) sleepy-forest-61862.herokuapp.co/auth/google_oauth2/callback
  6. You will be given a client id and client secret, see below
  7. Run: bundle exec figaro install and the following information as environment variables
GOOGLE_CLIENT_ID: <add your client id>
GOOGLE_CLIENT_SECRET: <add your client secret>
CLASS_WARS_DOMAIN: <add your backend server>
  1. For our backend server, please use (LOCAL) http://localhost:3000 or (PRODUCTION) http://polar-anchorage-12813.herokuapp.com

Running Locally

  1. From Sinatra, run: rackup -p 4567
  2. From Back End, run: rails s
  3. From Front End, run: rails s -p 3001
  4. From your browser, go to: http://localhost:3001

Heroku App Found Here

Contributors


In no particular order...

arique github arique linkedin' | LinkedIn Mariveliz Arique Ortiz

Cam Chery cam github cam linkedin' | LinkedIn

Christopher Allbritton mckinstrybros website Travis' | LinkedIn

Corey Carter corey github corey linkedin' | LinkedIn

Dan Halverson corey github corey linkedin' | LinkedIn

Garrett Gerdsen corey github corey linkedin' | LinkedIn

Judith Pillado corey github corey linkedin' | LinkedIn

Tyler Fields corey github corey linkedin' | LinkedIn

Pryia Power corey github corey linkedin' | LinkedIn

Saryn Mooney corey github corey linkedin' | LinkedIn

Phillip DeFraties corey github corey linkedin' | LinkedIn

Travis McKinstry corey github corey linkedin' | LinkedIn

About

This is the main frontend part of a large group project we were tasked with in Module 3 at Turing School of Software & Design. The main project is meant to all the consuming of several API endpoints, integration with Sinatra and Travis CI as well as deploying to Heroku

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published