diff --git a/.gitignore b/.gitignore
index 6db3c9a5bc..cd9d8b5c66 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,4 +12,63 @@
!/log/.keep
/tmp
+# Ignore this annoying MACOS file which is a caching file and keeps thumbnails
.DS_Store
+
+# Hide the .env because it's full of secrets!
+/.env
+
+# Ignore the default SQLite database.
+/db/*.sqlite3
+/db/*.sqlite3-journal
+betsy_development
+betsy_test
+
+
+# Ignore this annoying MACOS file which is a caching file and keeps thumbnails
+.DS_store
+
+# See https://help.github.com/articles/ignoring-files for more about ignoring files.
+#*.rbc
+capybara-*.html
+.rspec
+
+/public/system
+/coverage/
+/spec/tmp
+**.orig
+rerun.txt
+pickle-email-*.html
+
+# TODO Comment out this rule if you are OK with secrets being uploaded to the repo
+config/initializers/secret_token.rb
+
+# Only include if you have production secrets in this file, which is no longer a Rails default
+# config/secrets.yml
+
+# dotenv
+# TODO Comment out this rule if environment variables can be committed
+
+# Hide the .env becuase of secrets
+/.env
+
+## Environment normalization:
+/.bundle
+/vendor/bundle
+
+# these should all be checked in to normalize the environment:
+# Gemfile.lock, .ruby-version, .ruby-gemset
+
+# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
+.rvmrc
+
+# if using bower-rails ignore default bower_components path bower.json files
+/vendor/assets/bower_components
+*.bowerrc
+bower.json
+
+# Ignore pow environment settings
+.powenv
+
+# Ignore Byebug command history file.
+.byebug_history
diff --git a/.ruby-gemset b/.ruby-gemset
deleted file mode 100644
index d5c660823f..0000000000
--- a/.ruby-gemset
+++ /dev/null
@@ -1 +0,0 @@
-betsy
diff --git a/.ruby-version b/.ruby-version
deleted file mode 100644
index 2bf1c1ccf3..0000000000
--- a/.ruby-version
+++ /dev/null
@@ -1 +0,0 @@
-2.3.1
diff --git a/Gemfile b/Gemfile
index c69f4ddde9..265cb49b04 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,6 +1,22 @@
source 'https://rubygems.org'
ruby '2.3.1'
+#gem for authenticated user actions
+#gem 'devise', '~> 4.2'
+
+#gem for oAuth github Authentication
+gem 'omniauth'
+gem 'omniauth-github'
+
+#make it easier to read
+gem 'awesome_print'
+
+
+#simpler forms?
+gem 'simple_form'
+#make it possible to authenticate from scratch
+gem 'bcrypt'
+
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.2.6'
# Use postgresql as the database for Active Record
@@ -34,7 +50,12 @@ gem 'sdoc', '~> 0.4.0', group: :doc
group :development, :test do
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
+ gem 'factory_girl_rails', "~> 4.0"
gem 'byebug'
+ gem 'sqlite3'
+ gem 'dotenv-rails'
+ gem 'pry'
+
end
group :development do
@@ -43,4 +64,13 @@ group :development do
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
gem 'spring'
+ gem 'better_errors'
+end
+
+group :test do
+ gem 'minitest-reporters'
+ gem 'simplecov'
end
+
+gem 'pg', group: :production
+gem 'rails_12factor', group: :production
diff --git a/Gemfile.lock b/Gemfile.lock
index 20975578b8..84fc1fce5b 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -36,11 +36,19 @@ GEM
minitest (~> 5.1)
thread_safe (~> 0.3, >= 0.3.4)
tzinfo (~> 1.1)
+ ansi (1.5.0)
arel (6.0.3)
+ awesome_print (1.7.0)
+ bcrypt (3.1.11)
+ better_errors (2.1.1)
+ coderay (>= 1.0.0)
+ erubis (>= 2.6.6)
+ rack (>= 0.9.0)
binding_of_caller (0.7.2)
debug_inspector (>= 0.0.1)
builder (3.2.2)
- byebug (8.2.5)
+ byebug (9.0.6)
+ coderay (1.1.1)
coffee-rails (4.1.1)
coffee-script (>= 2.2.0)
railties (>= 4.0.0, < 5.1.x)
@@ -48,33 +56,75 @@ GEM
coffee-script-source
execjs
coffee-script-source (1.10.0)
- concurrent-ruby (1.0.1)
+ concurrent-ruby (1.0.2)
debug_inspector (0.0.2)
+ docile (1.1.5)
+ dotenv (2.1.1)
+ dotenv-rails (2.1.1)
+ dotenv (= 2.1.1)
+ railties (>= 4.0, < 5.1)
erubis (2.7.0)
- execjs (2.6.0)
- globalid (0.3.6)
+ execjs (2.7.0)
+ factory_girl (4.7.0)
+ activesupport (>= 3.0.0)
+ factory_girl_rails (4.7.0)
+ factory_girl (~> 4.7.0)
+ railties (>= 3.0.0)
+ faraday (0.9.2)
+ multipart-post (>= 1.2, < 3)
+ globalid (0.3.7)
activesupport (>= 4.1.0)
+ hashie (3.4.6)
i18n (0.7.0)
- jbuilder (2.4.1)
+ jbuilder (2.6.0)
activesupport (>= 3.0.0, < 5.1)
multi_json (~> 1.2)
- jquery-rails (4.1.1)
+ jquery-rails (4.2.1)
rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0)
thor (>= 0.14, < 2.0)
json (1.8.3)
+ jwt (1.5.6)
loofah (2.0.3)
nokogiri (>= 1.5.9)
mail (2.6.4)
mime-types (>= 1.16, < 4)
- mime-types (3.0)
+ method_source (0.8.2)
+ mime-types (3.1)
mime-types-data (~> 3.2015)
- mime-types-data (3.2016.0221)
- mini_portile2 (2.0.0)
- minitest (5.8.4)
- multi_json (1.11.3)
- nokogiri (1.6.7.2)
- mini_portile2 (~> 2.0.0.rc2)
+ mime-types-data (3.2016.0521)
+ mini_portile2 (2.1.0)
+ minitest (5.9.1)
+ minitest-reporters (1.1.11)
+ ansi
+ builder
+ minitest (>= 5.0)
+ ruby-progressbar
+ multi_json (1.12.1)
+ multi_xml (0.5.5)
+ multipart-post (2.0.0)
+ nokogiri (1.6.8.1)
+ mini_portile2 (~> 2.1.0)
+ oauth2 (1.2.0)
+ faraday (>= 0.8, < 0.10)
+ jwt (~> 1.0)
+ multi_json (~> 1.3)
+ multi_xml (~> 0.5)
+ rack (>= 1.2, < 3)
+ omniauth (1.3.1)
+ hashie (>= 1.2, < 4)
+ rack (>= 1.0, < 3)
+ omniauth-github (1.1.2)
+ omniauth (~> 1.0)
+ omniauth-oauth2 (~> 1.1)
+ omniauth-oauth2 (1.4.0)
+ oauth2 (~> 1.0)
+ omniauth (~> 1.2)
+ pg (0.19.0)
+ pry (0.10.4)
+ coderay (~> 1.1.0)
+ method_source (~> 0.8.1)
+ slop (~> 3.4)
rack (1.6.4)
rack-test (0.6.3)
rack (>= 1.0)
@@ -97,40 +147,58 @@ GEM
rails-deprecated_sanitizer (>= 1.0.1)
rails-html-sanitizer (1.0.3)
loofah (~> 2.0)
+ rails_12factor (0.0.3)
+ rails_serve_static_assets
+ rails_stdout_logging
+ rails_serve_static_assets (0.0.5)
+ rails_stdout_logging (0.0.5)
railties (4.2.6)
actionpack (= 4.2.6)
activesupport (= 4.2.6)
rake (>= 0.8.7)
thor (>= 0.18.1, < 2.0)
- rake (11.1.2)
+ rake (11.3.0)
rdoc (4.2.2)
json (~> 1.4)
+ ruby-progressbar (1.8.1)
sass (3.4.22)
- sass-rails (5.0.4)
- railties (>= 4.0.0, < 5.0)
+ sass-rails (5.0.6)
+ railties (>= 4.0.0, < 6)
sass (~> 3.1)
sprockets (>= 2.8, < 4.0)
sprockets-rails (>= 2.0, < 4.0)
tilt (>= 1.1, < 3)
- sdoc (0.4.1)
+ sdoc (0.4.2)
json (~> 1.7, >= 1.7.7)
rdoc (~> 4.0)
- spring (1.7.1)
- sprockets (3.6.0)
+ simple_form (3.3.1)
+ actionpack (> 4, < 5.1)
+ activemodel (> 4, < 5.1)
+ simplecov (0.12.0)
+ docile (~> 1.1.0)
+ json (>= 1.8, < 3)
+ simplecov-html (~> 0.10.0)
+ simplecov-html (0.10.0)
+ slop (3.6.0)
+ spring (2.0.0)
+ activesupport (>= 4.2)
+ sprockets (3.7.0)
concurrent-ruby (~> 1.0)
rack (> 1, < 3)
- sprockets-rails (3.0.4)
+ sprockets-rails (3.2.0)
actionpack (>= 4.0)
activesupport (>= 4.0)
sprockets (>= 3.0.0)
+ sqlite3 (1.3.12)
thor (0.19.1)
thread_safe (0.3.5)
- tilt (2.0.2)
- turbolinks (2.5.3)
- coffee-rails
+ tilt (2.0.5)
+ turbolinks (5.0.1)
+ turbolinks-source (~> 5)
+ turbolinks-source (5.0.0)
tzinfo (1.2.2)
thread_safe (~> 0.1)
- uglifier (3.0.0)
+ uglifier (3.0.2)
execjs (>= 0.3.0, < 3)
web-console (2.3.0)
activemodel (>= 4.0)
@@ -142,14 +210,28 @@ PLATFORMS
ruby
DEPENDENCIES
+ awesome_print
+ bcrypt
+ better_errors
byebug
coffee-rails (~> 4.1.0)
+ dotenv-rails
+ factory_girl_rails (~> 4.0)
jbuilder (~> 2.0)
jquery-rails
+ minitest-reporters
+ omniauth
+ omniauth-github
+ pg
+ pry
rails (= 4.2.6)
+ rails_12factor
sass-rails (~> 5.0)
sdoc (~> 0.4.0)
+ simple_form
+ simplecov
spring
+ sqlite3
turbolinks
uglifier (>= 1.3.0)
web-console (~> 2.0)
@@ -158,4 +240,4 @@ RUBY VERSION
ruby 2.3.1p112
BUNDLED WITH
- 1.13.5
+ 1.13.6
diff --git a/README.md b/README.md
index 220a0423c4..f37989492a 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# bEtsy
+# bEtsy(Vampazon)
[b]Etsy will be an online store where a wide variety of products can be listed and sold by any user. In this project we will focus on reinforcing the major components of Rails, Model Validation, as well as introducing some more complex logic such as user authentication.
## Project Learning Goals
@@ -104,25 +104,45 @@ As a signed-in user, I **can**:
- Retire a product from being sold, which hides it from browsing
- View an account page to edit/update my existing products
- View an account page showing my order fulfillment
-- On the order fulfillment page:
- - Total Revenue
- - Total Revenue by status
- - Total number of orders by status
- - Filter orders displayed by status
- - Link to each individual order
- - A list of orders including at least one of my products:
- - Each order item sold by me with a quantity and line-item subtotal
- - A link to the item description page
- - DateTime the order was placed
- - Link to transition the order item to marked as shipped
- - The current status of the order ("pending", "paid", "complete", "cancelled")
-- View an individual order to see the user's:
- - Name
- - Email address
- - Mailing address
- - Last four digits of their credit card
- - Credit card expiration date
+---
+
+**[customized]**
+As a signed-in user, I can see:
+
+- User Account that contains basic User Information;
+- User Account that has Buyer Management and Seller Management Panel;
+- In Buyer Management Panel, a list of all orders of the current logged in User(buyer);
+ - Each order linked to its order confirmation page, with detail information;
+ - Listing order's id#, creation time, total price, a CANCEL button;
+- In Buyer Management Panel, the order can be cancelled. After pushing CANCEL button, the order status changed to "cancel".
+- In Buyer Management Panel, filter orders displayed by status(pending, paid, completed, cancelled)
+
+---
+
+**[refactored]**
+- Total Revenue of all order items
+- Total Revenue by status
+- Total number of order items
+- Total number of order items)by status
+- A list of **order items** sold by me:
+ - Filter **order items** displayed by status
+ - Link to each individual order:
+ - Each order item sold by me with a quantity and line-item subtotal
+ - A link to the item description page
+ - DateTime the order was placed
+ - The current status of the order item ("pending", "paid", "fulfilled", "cancelled")
+ - A button to transition the order item to marked as "ship", where order item status changed to "fulfilled"
+- The order# that associated with this order item:
+- View the individual order to see the user's:
+ - Name
+ - Email address
+ - Mailing address
+ - Last four digits of their credit card
+ - Credit card expiration date
+
+---
+
As a signed-in user, I **cannot**:
- Review my own products
diff --git a/README_vampazon.md b/README_vampazon.md
new file mode 100644
index 0000000000..4379e68c09
--- /dev/null
+++ b/README_vampazon.md
@@ -0,0 +1,35 @@
+== README
+# Vampazon
+Shop till you drop again, at Vampazon! We have a wide array of products to meet all your bloody needs. Minions, Home Decor, dental care, and more! Commence shopping [here][ ____ herokuapp.com]. Vampazon is an e-commerce venue build with Ruby on Rails.
+
+### Authors
+-[Elle Vargas][https://github.com/ellevargas]
+-[Maya Wang][https://github.com/mayawang]
+-[Sassa Kitka][https://github.com/RedSquirrelious]
+-[Trish Griego][https://github.com/Trishthedish]
+
+ ###
+ All authors are students at [Ada Developers Academy](http://adadevelopersacademy.org/)
+
+### Ruby Version
+- 4.7..?
+
+### Built with
+* [foundations](#) - The CSS framework
+* [OAuth](#) - Session management...
+* [Rails](#) - to general?
+* [factory_girl][https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md]
+
+### Best Practices/key take aways.
+- Maybe a link to each of our own take aways?
+
+
+## Dont know where to put this:
+
+- Assignment Guidelines can be found [here][https://github.com/mayawang/Vampazon].
+
+
+### known Bugs - idea for grouping
+
+
+Examples of good readme: https://gist.github.com/PurpleBooth/109311bb0361f32d87a2
diff --git a/app/assets/images/Fashion/Armor.jpg b/app/assets/images/Fashion/Armor.jpg
new file mode 100644
index 0000000000..c85cee8b6e
Binary files /dev/null and b/app/assets/images/Fashion/Armor.jpg differ
diff --git a/app/assets/images/Fashion/Cape.jpg b/app/assets/images/Fashion/Cape.jpg
new file mode 100644
index 0000000000..7982adccd7
Binary files /dev/null and b/app/assets/images/Fashion/Cape.jpg differ
diff --git a/app/assets/images/Fashion/Capes.gif b/app/assets/images/Fashion/Capes.gif
new file mode 100644
index 0000000000..f6840624f6
Binary files /dev/null and b/app/assets/images/Fashion/Capes.gif differ
diff --git a/app/assets/images/Fashion/Goggles.jpg b/app/assets/images/Fashion/Goggles.jpg
new file mode 100644
index 0000000000..4440b021e8
Binary files /dev/null and b/app/assets/images/Fashion/Goggles.jpg differ
diff --git a/app/assets/images/Fashion/Pajamas.png b/app/assets/images/Fashion/Pajamas.png
new file mode 100644
index 0000000000..bccd68c712
Binary files /dev/null and b/app/assets/images/Fashion/Pajamas.png differ
diff --git a/app/assets/images/Fashion/Spandex.gif b/app/assets/images/Fashion/Spandex.gif
new file mode 100644
index 0000000000..b6a44f435d
Binary files /dev/null and b/app/assets/images/Fashion/Spandex.gif differ
diff --git a/app/assets/images/Fashion/Spandex.jpg b/app/assets/images/Fashion/Spandex.jpg
new file mode 100644
index 0000000000..4ac69cac84
Binary files /dev/null and b/app/assets/images/Fashion/Spandex.jpg differ
diff --git a/app/assets/images/Fashion/Tuxedo.jpg b/app/assets/images/Fashion/Tuxedo.jpg
new file mode 100644
index 0000000000..aaf6de690b
Binary files /dev/null and b/app/assets/images/Fashion/Tuxedo.jpg differ
diff --git a/app/assets/images/Fashion/Tuxedoes.gif b/app/assets/images/Fashion/Tuxedoes.gif
new file mode 100644
index 0000000000..8885ee56b9
Binary files /dev/null and b/app/assets/images/Fashion/Tuxedoes.gif differ
diff --git a/app/assets/images/Home_Decor/Candles.jpg b/app/assets/images/Home_Decor/Candles.jpg
new file mode 100644
index 0000000000..b5a245b244
Binary files /dev/null and b/app/assets/images/Home_Decor/Candles.jpg differ
diff --git a/app/assets/images/Home_Decor/Coffins.jpg b/app/assets/images/Home_Decor/Coffins.jpg
new file mode 100644
index 0000000000..7ebf5ab01e
Binary files /dev/null and b/app/assets/images/Home_Decor/Coffins.jpg differ
diff --git a/app/assets/images/Home_Decor/Curtains.jpg b/app/assets/images/Home_Decor/Curtains.jpg
new file mode 100644
index 0000000000..7424551b9e
Binary files /dev/null and b/app/assets/images/Home_Decor/Curtains.jpg differ
diff --git a/app/assets/images/Home_Decor/Goblets.jpg b/app/assets/images/Home_Decor/Goblets.jpg
new file mode 100644
index 0000000000..15439dc768
Binary files /dev/null and b/app/assets/images/Home_Decor/Goblets.jpg differ
diff --git a/app/assets/images/Home_Decor/Roses.jpg b/app/assets/images/Home_Decor/Roses.jpg
new file mode 100644
index 0000000000..63d91f4017
Binary files /dev/null and b/app/assets/images/Home_Decor/Roses.jpg differ
diff --git a/app/assets/images/Home_Decor/Snackles.jpg b/app/assets/images/Home_Decor/Snackles.jpg
new file mode 100644
index 0000000000..ad2276392c
Binary files /dev/null and b/app/assets/images/Home_Decor/Snackles.jpg differ
diff --git a/app/assets/images/Homepage/MLogo.png b/app/assets/images/Homepage/MLogo.png
new file mode 100644
index 0000000000..b7a52a3e4f
Binary files /dev/null and b/app/assets/images/Homepage/MLogo.png differ
diff --git a/app/assets/images/Homepage/Vampazon.png b/app/assets/images/Homepage/Vampazon.png
new file mode 100644
index 0000000000..47ca00e708
Binary files /dev/null and b/app/assets/images/Homepage/Vampazon.png differ
diff --git a/app/assets/images/Homepage/Vampire1.jpg b/app/assets/images/Homepage/Vampire1.jpg
new file mode 100644
index 0000000000..6e7b2ede98
Binary files /dev/null and b/app/assets/images/Homepage/Vampire1.jpg differ
diff --git a/app/assets/images/Minions/Bats.jpg b/app/assets/images/Minions/Bats.jpg
new file mode 100644
index 0000000000..ed75b40596
Binary files /dev/null and b/app/assets/images/Minions/Bats.jpg differ
diff --git a/app/assets/images/Minions/Chad.png b/app/assets/images/Minions/Chad.png
new file mode 100644
index 0000000000..6a074713dd
Binary files /dev/null and b/app/assets/images/Minions/Chad.png differ
diff --git a/app/assets/images/Minions/Gargoyles.png b/app/assets/images/Minions/Gargoyles.png
new file mode 100644
index 0000000000..419add148a
Binary files /dev/null and b/app/assets/images/Minions/Gargoyles.png differ
diff --git a/app/assets/images/Minions/Ghosts.png b/app/assets/images/Minions/Ghosts.png
new file mode 100644
index 0000000000..4151f1a459
Binary files /dev/null and b/app/assets/images/Minions/Ghosts.png differ
diff --git a/app/assets/images/Minions/Igor.gif b/app/assets/images/Minions/Igor.gif
new file mode 100644
index 0000000000..6412b81ead
Binary files /dev/null and b/app/assets/images/Minions/Igor.gif differ
diff --git a/app/assets/images/Minions/Igor.jpg b/app/assets/images/Minions/Igor.jpg
new file mode 100644
index 0000000000..a901e04908
Binary files /dev/null and b/app/assets/images/Minions/Igor.jpg differ
diff --git a/app/assets/images/Minions/Wolves.jpg b/app/assets/images/Minions/Wolves.jpg
new file mode 100644
index 0000000000..75b9584701
Binary files /dev/null and b/app/assets/images/Minions/Wolves.jpg differ
diff --git a/app/assets/images/Personal_Care/Biteguard.jpg b/app/assets/images/Personal_Care/Biteguard.jpg
new file mode 100644
index 0000000000..b8de944690
Binary files /dev/null and b/app/assets/images/Personal_Care/Biteguard.jpg differ
diff --git a/app/assets/images/Personal_Care/Book.jpg b/app/assets/images/Personal_Care/Book.jpg
new file mode 100644
index 0000000000..db386e807a
Binary files /dev/null and b/app/assets/images/Personal_Care/Book.jpg differ
diff --git a/app/assets/images/Personal_Care/Bronzer.jpg b/app/assets/images/Personal_Care/Bronzer.jpg
new file mode 100644
index 0000000000..72d589b3b7
Binary files /dev/null and b/app/assets/images/Personal_Care/Bronzer.jpg differ
diff --git a/app/assets/images/Personal_Care/Mask.png b/app/assets/images/Personal_Care/Mask.png
new file mode 100644
index 0000000000..8af067a31e
Binary files /dev/null and b/app/assets/images/Personal_Care/Mask.png differ
diff --git a/app/assets/images/Personal_Care/Sunscreen.jpg b/app/assets/images/Personal_Care/Sunscreen.jpg
new file mode 100644
index 0000000000..97551a1d14
Binary files /dev/null and b/app/assets/images/Personal_Care/Sunscreen.jpg differ
diff --git a/app/assets/images/Personal_Care/Toothbrushes.jpg b/app/assets/images/Personal_Care/Toothbrushes.jpg
new file mode 100644
index 0000000000..ebd876d887
Binary files /dev/null and b/app/assets/images/Personal_Care/Toothbrushes.jpg differ
diff --git a/app/assets/images/count_zero.jpg b/app/assets/images/count_zero.jpg
new file mode 100644
index 0000000000..e3b2c42da6
Binary files /dev/null and b/app/assets/images/count_zero.jpg differ
diff --git a/app/assets/images/vamp_favicon.ico b/app/assets/images/vamp_favicon.ico
new file mode 100644
index 0000000000..0d8ce7e7ec
Binary files /dev/null and b/app/assets/images/vamp_favicon.ico differ
diff --git a/app/assets/javascripts/homepages.coffee b/app/assets/javascripts/homepages.coffee
new file mode 100644
index 0000000000..24f83d18bb
--- /dev/null
+++ b/app/assets/javascripts/homepages.coffee
@@ -0,0 +1,3 @@
+# Place all the behaviors and hooks related to the matching controller here.
+# All this logic will automatically be available in application.js.
+# You can use CoffeeScript in this file: http://coffeescript.org/
diff --git a/app/assets/javascripts/orders.coffee b/app/assets/javascripts/orders.coffee
new file mode 100644
index 0000000000..24f83d18bb
--- /dev/null
+++ b/app/assets/javascripts/orders.coffee
@@ -0,0 +1,3 @@
+# Place all the behaviors and hooks related to the matching controller here.
+# All this logic will automatically be available in application.js.
+# You can use CoffeeScript in this file: http://coffeescript.org/
diff --git a/app/assets/javascripts/products.coffee b/app/assets/javascripts/products.coffee
new file mode 100644
index 0000000000..24f83d18bb
--- /dev/null
+++ b/app/assets/javascripts/products.coffee
@@ -0,0 +1,3 @@
+# Place all the behaviors and hooks related to the matching controller here.
+# All this logic will automatically be available in application.js.
+# You can use CoffeeScript in this file: http://coffeescript.org/
diff --git a/app/assets/javascripts/reviews.coffee b/app/assets/javascripts/reviews.coffee
new file mode 100644
index 0000000000..24f83d18bb
--- /dev/null
+++ b/app/assets/javascripts/reviews.coffee
@@ -0,0 +1,3 @@
+# Place all the behaviors and hooks related to the matching controller here.
+# All this logic will automatically be available in application.js.
+# You can use CoffeeScript in this file: http://coffeescript.org/
diff --git a/app/assets/javascripts/sessions.coffee b/app/assets/javascripts/sessions.coffee
new file mode 100644
index 0000000000..24f83d18bb
--- /dev/null
+++ b/app/assets/javascripts/sessions.coffee
@@ -0,0 +1,3 @@
+# Place all the behaviors and hooks related to the matching controller here.
+# All this logic will automatically be available in application.js.
+# You can use CoffeeScript in this file: http://coffeescript.org/
diff --git a/app/assets/javascripts/users.coffee b/app/assets/javascripts/users.coffee
new file mode 100644
index 0000000000..24f83d18bb
--- /dev/null
+++ b/app/assets/javascripts/users.coffee
@@ -0,0 +1,3 @@
+# Place all the behaviors and hooks related to the matching controller here.
+# All this logic will automatically be available in application.js.
+# You can use CoffeeScript in this file: http://coffeescript.org/
diff --git a/app/assets/stylesheets/app.css b/app/assets/stylesheets/app.css
new file mode 100644
index 0000000000..897a4ca797
--- /dev/null
+++ b/app/assets/stylesheets/app.css
@@ -0,0 +1,190 @@
+/************************* OVERALL *************************/
+
+body {
+ min-width: 100%;
+ font-size: 14pt;
+ font-family: Arial, Helvetica, sans-serif;
+}
+
+.basic {
+ margin: 2% 12% 1% 12%;
+}
+
+.basic h2 {
+ font-size: 2.5rem;
+ font-weight: bold;
+ margin-bottom: 2%;
+}
+
+.basic p {
+ padding: 1%;
+ font-weight: bold;
+}
+
+header {
+ background-color: black;
+ height: 17%;
+ margin-bottom: 2%;
+ padding: 3% 3% 3% 0;
+}
+
+img.logo {
+ margin: auto;
+ height: auto;
+ width: auto;
+ max-width: 100%;
+ max-height: 100%;
+}
+
+img.frontpage {
+ float: left;
+ display: inline-block;
+}
+
+/*.top-bar ul {
+ background-color: black;
+}*/
+
+/*.top-bar-left {
+ max-width: 50%;
+}*/
+
+/*.top-bar-left img {
+ height: auto;
+ width: auto;
+ max-width: 100%;
+ max-height: 100%;
+ float:center;
+}*/
+
+/*.top-bar-right a {
+ font-size: 1.75rem;
+}*/
+
+#product-navigation {
+ text-align: center;
+}
+
+nav li {
+ background-color: black;
+ display: inline-block;
+ padding-right: 5%;
+}
+
+nav li a {
+ background-color: black;
+ color: white;
+}
+
+h3 {
+ font-size: 2.75rem;
+ font-weight: bold;
+ text-align: center;
+ margin: 2% 0 3% 0;
+}
+
+.column {
+ padding: 1% 1.5% 3% 1.5%;
+}
+
+.quantity {
+ width: 15%;
+}
+
+.headline {
+ font-size: 1.75rem;
+ font-weight: bold;
+ text-align: center;
+}
+
+.headline a {
+ color: black;
+}
+
+.headline a:hover, .headline a:focus {
+ color: #680604;
+}
+
+img.product_photo {
+ display: inline-block;
+ margin: 10% 0;
+ max-height: 9em;
+}
+
+.row ul {
+ list-style: none;
+}
+
+/*.product-detail {
+ max-height: 9em;
+}*/
+
+ /**************************************/
+/**HERO SECTION **/
+ /**************************************/
+/*
+.hero {
+ background-color: gray;
+ padding: 50px 30px;
+ height: 15%;
+}
+
+ /**************************************
+/**FOOTER **/
+ /**************************************/
+
+
+/*#login-logout a {
+ color: white;
+ display: inline-block;
+ float: right;
+ min-width: 20%;
+}*/
+
+
+
+/*.row ul a {
+ color: black;
+}
+
+.row ul a:hover {
+ color: #680604;
+}*/
+
+
+/*.columns {
+ column-count: 3;
+ /*column-gap: 8vw;
+ }*/
+
+
+
+
+/*.card p {
+ float: center;
+}
+
+
+/*.product-info {
+ min-height: 6.5em;
+}*/
+
+/*.product-info ul {
+ list-style: none;
+ margin-left: 0;
+ margin-bottom: .25em;
+ font-size: 1rem;
+ text-align: center;
+}*/
+
+/*.product-info ul a {
+ color: black;
+}*/
+
+/*.product-info ul a:hover {
+ color: red;
+}*/
+
+/*.product-info li {
+ float: center;
+}*/
diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css
index f9cd5b3483..19e6687f7c 100644
--- a/app/assets/stylesheets/application.css
+++ b/app/assets/stylesheets/application.css
@@ -13,3 +13,11 @@
*= require_tree .
*= require_self
*/
+ @import url('foundation.css');
+
+ /*@import url('foundation_and_overrides.css');*/
+
+@import url('app.css');
+
+/*require 'foundation'*/
+/*require 'app' */
diff --git a/app/assets/stylesheets/foundation.css b/app/assets/stylesheets/foundation.css
new file mode 100644
index 0000000000..66aca962de
--- /dev/null
+++ b/app/assets/stylesheets/foundation.css
@@ -0,0 +1,4194 @@
+@charset "UTF-8";
+/**
+ * Foundation for Sites by ZURB
+ * Version 6.2.3
+ * foundation.zurb.com
+ * Licensed under MIT Open Source
+ */
+/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
+/**
+ * 1. Set default font family to sans-serif.
+ * 2. Prevent iOS and IE text size adjust after device orientation change,
+ * without disabling user zoom.
+ */
+html {
+ font-family: sans-serif;
+ /* 1 */
+ -ms-text-size-adjust: 100%;
+ /* 2 */
+ -webkit-text-size-adjust: 100%;
+ /* 2 */ }
+
+/**
+ * Remove default margin.
+ */
+body {
+ margin: 0; }
+
+/* HTML5 display definitions
+ ========================================================================== */
+/**
+ * Correct `block` display not defined for any HTML5 element in IE 8/9.
+ * Correct `block` display not defined for `details` or `summary` in IE 10/11
+ * and Firefox.
+ * Correct `block` display not defined for `main` in IE 11.
+ */
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+menu,
+nav,
+section,
+summary {
+ display: block; }
+
+/**
+ * 1. Correct `inline-block` display not defined in IE 8/9.
+ * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
+ */
+audio,
+canvas,
+progress,
+video {
+ display: inline-block;
+ /* 1 */
+ vertical-align: baseline;
+ /* 2 */ }
+
+/**
+ * Prevent modern browsers from displaying `audio` without controls.
+ * Remove excess height in iOS 5 devices.
+ */
+audio:not([controls]) {
+ display: none;
+ height: 0; }
+
+/**
+ * Address `[hidden]` styling not present in IE 8/9/10.
+ * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
+ */
+[hidden],
+template {
+ display: none; }
+
+/* Links
+ ========================================================================== */
+/**
+ * Remove the gray background color from active links in IE 10.
+ */
+a {
+ background-color: transparent; }
+
+/**
+ * Improve readability of focused elements when they are also in an
+ * active/hover state.
+ */
+a:active,
+a:hover {
+ outline: 0; }
+
+/* Text-level semantics
+ ========================================================================== */
+/**
+ * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
+ */
+abbr[title] {
+ border-bottom: 1px dotted; }
+
+/**
+ * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
+ */
+b,
+strong {
+ font-weight: bold; }
+
+/**
+ * Address styling not present in Safari and Chrome.
+ */
+dfn {
+ font-style: italic; }
+
+/**
+ * Address variable `h1` font-size and margin within `section` and `article`
+ * contexts in Firefox 4+, Safari, and Chrome.
+ */
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0; }
+
+/**
+ * Address styling not present in IE 8/9.
+ */
+mark {
+ background: #ff0;
+ color: #000; }
+
+/**
+ * Address inconsistent and variable font size in all browsers.
+ */
+small {
+ font-size: 80%; }
+
+/**
+ * Prevent `sub` and `sup` affecting `line-height` in all browsers.
+ */
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline; }
+
+sup {
+ top: -0.5em; }
+
+sub {
+ bottom: -0.25em; }
+
+/* Embedded content
+ ========================================================================== */
+/**
+ * Remove border when inside `a` element in IE 8/9/10.
+ */
+img {
+ border: 0; }
+
+/**
+ * Correct overflow not hidden in IE 9/10/11.
+ */
+svg:not(:root) {
+ overflow: hidden; }
+
+/* Grouping content
+ ========================================================================== */
+/**
+ * Address margin not present in IE 8/9 and Safari.
+ */
+figure {
+ margin: 1em 40px; }
+
+/**
+ * Address differences between Firefox and other browsers.
+ */
+hr {
+ box-sizing: content-box;
+ height: 0; }
+
+/**
+ * Contain overflow in all browsers.
+ */
+pre {
+ overflow: auto; }
+
+/**
+ * Address odd `em`-unit font size rendering in all browsers.
+ */
+code,
+kbd,
+pre,
+samp {
+ font-family: monospace, monospace;
+ font-size: 1em; }
+
+/* Forms
+ ========================================================================== */
+/**
+ * Known limitation: by default, Chrome and Safari on OS X allow very limited
+ * styling of `select`, unless a `border` property is set.
+ */
+/**
+ * 1. Correct color not being inherited.
+ * Known issue: affects color of disabled elements.
+ * 2. Correct font properties not being inherited.
+ * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
+ */
+button,
+input,
+optgroup,
+select,
+textarea {
+ color: inherit;
+ /* 1 */
+ font: inherit;
+ /* 2 */
+ margin: 0;
+ /* 3 */ }
+
+/**
+ * Address `overflow` set to `hidden` in IE 8/9/10/11.
+ */
+button {
+ overflow: visible; }
+
+/**
+ * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * All other form control elements do not inherit `text-transform` values.
+ * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
+ * Correct `select` style inheritance in Firefox.
+ */
+button,
+select {
+ text-transform: none; }
+
+/**
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ * and `video` controls.
+ * 2. Correct inability to style clickable `input` types in iOS.
+ * 3. Improve usability and consistency of cursor style between image-type
+ * `input` and others.
+ */
+button,
+html input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+ -webkit-appearance: button;
+ /* 2 */
+ cursor: pointer;
+ /* 3 */ }
+
+/**
+ * Re-set default cursor for disabled elements.
+ */
+button[disabled],
+html input[disabled] {
+ cursor: not-allowed; }
+
+/**
+ * Remove inner padding and border in Firefox 4+.
+ */
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ border: 0;
+ padding: 0; }
+
+/**
+ * Address Firefox 4+ setting `line-height` on `input` using `!important` in
+ * the UA stylesheet.
+ */
+input {
+ line-height: normal; }
+
+/**
+ * It's recommended that you don't attempt to style these elements.
+ * Firefox's implementation doesn't respect box-sizing, padding, or width.
+ *
+ * 1. Address box sizing set to `content-box` in IE 8/9/10.
+ * 2. Remove excess padding in IE 8/9/10.
+ */
+input[type="checkbox"],
+input[type="radio"] {
+ box-sizing: border-box;
+ /* 1 */
+ padding: 0;
+ /* 2 */ }
+
+/**
+ * Fix the cursor style for Chrome's increment/decrement buttons. For certain
+ * `font-size` values of the `input`, it causes the cursor style of the
+ * decrement button to change from `default` to `text`.
+ */
+input[type="number"]::-webkit-inner-spin-button,
+input[type="number"]::-webkit-outer-spin-button {
+ height: auto; }
+
+/**
+ * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
+ * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
+ */
+input[type="search"] {
+ -webkit-appearance: textfield;
+ /* 1 */
+ box-sizing: content-box;
+ /* 2 */ }
+
+/**
+ * Remove inner padding and search cancel button in Safari and Chrome on OS X.
+ * Safari (but not Chrome) clips the cancel button when the search input has
+ * padding (and `textfield` appearance).
+ */
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none; }
+
+/**
+ * Define consistent border, margin, and padding.
+ * [NOTE] We don't enable this ruleset in Foundation, because we want the