From bc5d6415e65914beb0f9024a8486cc0168312d96 Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Sun, 8 Sep 2024 14:58:29 -0400 Subject: [PATCH 01/89] Create rake task importing data --- app/views/stations/index.html.erb | 2 +- lib/tasks/load_data.rake | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 lib/tasks/load_data.rake diff --git a/app/views/stations/index.html.erb b/app/views/stations/index.html.erb index d211dda42..ae79f51eb 100644 --- a/app/views/stations/index.html.erb +++ b/app/views/stations/index.html.erb @@ -1,7 +1,7 @@
- Welcome to ValetBike! + Welcome to ValetBike <3
<% if @stations.present? %> diff --git a/lib/tasks/load_data.rake b/lib/tasks/load_data.rake new file mode 100644 index 000000000..8c0968f96 --- /dev/null +++ b/lib/tasks/load_data.rake @@ -0,0 +1,16 @@ +namespace :load_data do + require 'csv' + + desc "Reads the bike and station data in from the CSV." + #TODO this is probably a bad implementation that doesn't clean the data well. + #something something dev left something something Rails Way idk what i'm doing T-T. + task :load_data => :environment do + CSV.foreach('notes/bike-data.csv', :headers => true) do |row| #bikes + Bikes.create!(row.to_hash) + end + + CSV.foreach('notes/station-data.csv', :headers => true) do |row| #stations + Station.create!(row.to_hash) + end + end +end From 27b7a78bae336ed996ce6a6b2c09932efff272b7 Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Sun, 8 Sep 2024 17:11:29 -0400 Subject: [PATCH 02/89] Add initializers for Bike, Station, and StationController. Debug rake task. --- app/controllers/stations_controller.rb | 5 ++++- app/models/bike.rb | 4 ++++ app/models/station.rb | 7 ++++++- lib/tasks/load_data.rake | 16 ++++++++++------ 4 files changed, 24 insertions(+), 8 deletions(-) diff --git a/app/controllers/stations_controller.rb b/app/controllers/stations_controller.rb index 88090af16..9be94499d 100644 --- a/app/controllers/stations_controller.rb +++ b/app/controllers/stations_controller.rb @@ -1,7 +1,10 @@ class StationsController < ApplicationController - + def index @stations = Station.all.order(identifier: :asc) end + def initialize + self.index + end end diff --git a/app/models/bike.rb b/app/models/bike.rb index f3648e343..c05b96d52 100644 --- a/app/models/bike.rb +++ b/app/models/bike.rb @@ -4,4 +4,8 @@ class Bike < ApplicationRecord belongs_to :current_station, class_name: :Station, foreign_key: :current_station_id, optional: true + def initialize(row_csv) #from /notes/bike-data.csv + @identifier = row_csv[0] + @current_station_id = row_csv[1] + end end diff --git a/app/models/station.rb b/app/models/station.rb index 64b9eaada..684c344ea 100644 --- a/app/models/station.rb +++ b/app/models/station.rb @@ -5,5 +5,10 @@ class Station < ApplicationRecord validates_uniqueness_of :identifier has_many :docked_bikes, class_name: :Bike, foreign_key: :current_station_id - + + def initialize(row_csv) #from /notes/station-data.csv + @identifier = row_csv[0] + @name = row_csv[1] + @address = row_csv[6] + end end diff --git a/lib/tasks/load_data.rake b/lib/tasks/load_data.rake index 8c0968f96..81fe93e02 100644 --- a/lib/tasks/load_data.rake +++ b/lib/tasks/load_data.rake @@ -3,14 +3,18 @@ namespace :load_data do desc "Reads the bike and station data in from the CSV." #TODO this is probably a bad implementation that doesn't clean the data well. - #something something dev left something something Rails Way idk what i'm doing T-T. - task :load_data => :environment do - CSV.foreach('notes/bike-data.csv', :headers => true) do |row| #bikes - Bikes.create!(row.to_hash) + #something something dev left something something Rails Way idk what i'm doing. + + path = '/home/jadelilian/valetbike/notes/' + task :bike => :environment do + CSV.foreach(path + 'bike-data.csv', :headers => true) do |row| #bikes + Bike.new(row) end + end - CSV.foreach('notes/station-data.csv', :headers => true) do |row| #stations - Station.create!(row.to_hash) + task :station => :environment do + CSV.foreach(path + 'station-data.csv', :headers => true) do |row| #stations + Station.new(row) end end end From 4ece6771ac71a16e14d5ab260f60e082c7cde63c Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Sun, 8 Sep 2024 17:17:36 -0400 Subject: [PATCH 03/89] i am a being of chaos and actually the previous commit had an extraneous initializer that i have now removed --- app/controllers/stations_controller.rb | 3 --- 1 file changed, 3 deletions(-) diff --git a/app/controllers/stations_controller.rb b/app/controllers/stations_controller.rb index 9be94499d..3f9690dd6 100644 --- a/app/controllers/stations_controller.rb +++ b/app/controllers/stations_controller.rb @@ -4,7 +4,4 @@ def index @stations = Station.all.order(identifier: :asc) end - def initialize - self.index - end end From 033987652bf346d43d3fe8337d6fc4239acf6809 Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Mon, 9 Sep 2024 19:42:45 -0400 Subject: [PATCH 04/89] rake task works successfully now! --- app/models/bike.rb | 5 ----- app/models/station.rb | 6 ------ lib/tasks/load_data.rake | 10 ++++------ 3 files changed, 4 insertions(+), 17 deletions(-) diff --git a/app/models/bike.rb b/app/models/bike.rb index c05b96d52..52e8449c8 100644 --- a/app/models/bike.rb +++ b/app/models/bike.rb @@ -3,9 +3,4 @@ class Bike < ApplicationRecord validates_uniqueness_of :identifier belongs_to :current_station, class_name: :Station, foreign_key: :current_station_id, optional: true - - def initialize(row_csv) #from /notes/bike-data.csv - @identifier = row_csv[0] - @current_station_id = row_csv[1] - end end diff --git a/app/models/station.rb b/app/models/station.rb index 684c344ea..3687d333e 100644 --- a/app/models/station.rb +++ b/app/models/station.rb @@ -5,10 +5,4 @@ class Station < ApplicationRecord validates_uniqueness_of :identifier has_many :docked_bikes, class_name: :Bike, foreign_key: :current_station_id - - def initialize(row_csv) #from /notes/station-data.csv - @identifier = row_csv[0] - @name = row_csv[1] - @address = row_csv[6] - end end diff --git a/lib/tasks/load_data.rake b/lib/tasks/load_data.rake index 81fe93e02..ed8422818 100644 --- a/lib/tasks/load_data.rake +++ b/lib/tasks/load_data.rake @@ -4,17 +4,15 @@ namespace :load_data do desc "Reads the bike and station data in from the CSV." #TODO this is probably a bad implementation that doesn't clean the data well. #something something dev left something something Rails Way idk what i'm doing. - - path = '/home/jadelilian/valetbike/notes/' task :bike => :environment do - CSV.foreach(path + 'bike-data.csv', :headers => true) do |row| #bikes - Bike.new(row) + CSV.foreach('/home/jadelilian/valetbike/notes/bike-data.csv', :headers => true) do |row| #bikes + Bike.create(:identifier => row[0], :current_station_id => row[1]) end end task :station => :environment do - CSV.foreach(path + 'station-data.csv', :headers => true) do |row| #stations - Station.new(row) + CSV.foreach('/home/jadelilian/valetbike/notes/station-data.csv', :headers => true) do |row| #stations + Station.create(:identifier => row[0], :name => row[1], :address => row[6]) end end end From a7ac3355f2462ad42bee06a6bfc487d41b43e47e Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Mon, 9 Sep 2024 23:09:43 -0400 Subject: [PATCH 05/89] futz with order reversal and other features. All failed --- app/views/stations/index.html.erb | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/views/stations/index.html.erb b/app/views/stations/index.html.erb index ae79f51eb..05d4c6bee 100644 --- a/app/views/stations/index.html.erb +++ b/app/views/stations/index.html.erb @@ -2,8 +2,14 @@
Welcome to ValetBike <3 -
-
+
+ + +
<% if @stations.present? %> <%= render(partial: "stations/row", collection: @stations, as: :station) %> <% else %> From 368ca0316000f32fbec575ae7a6737f7b29d0b31 Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Tue, 17 Sep 2024 13:34:56 -0400 Subject: [PATCH 06/89] Add bike views and render them. TODO fix rake task to find bikes appropriately --- app/controllers/bikes_controller.rb | 7 +++++++ app/helpers/bikes_helper.rb | 2 ++ app/views/bikes/_row.html.erb | 3 +++ app/views/bikes/_row.html.erb~ | 4 ++++ app/views/stations/_row.html.erb | 8 +++++++- app/views/stations/index.html.erb | 6 ++++++ config/routes.rb | 2 ++ lib/tasks/load_data.rake | 13 +++++++------ test/controllers/bikes_controller_test.rb | 13 +++++++++++++ 9 files changed, 51 insertions(+), 7 deletions(-) create mode 100644 app/controllers/bikes_controller.rb create mode 100644 app/helpers/bikes_helper.rb create mode 100644 app/views/bikes/_row.html.erb create mode 100644 app/views/bikes/_row.html.erb~ create mode 100644 test/controllers/bikes_controller_test.rb diff --git a/app/controllers/bikes_controller.rb b/app/controllers/bikes_controller.rb new file mode 100644 index 000000000..7b74e7bd4 --- /dev/null +++ b/app/controllers/bikes_controller.rb @@ -0,0 +1,7 @@ +class BikesController < ApplicationController + def index + end + + def _row + end +end diff --git a/app/helpers/bikes_helper.rb b/app/helpers/bikes_helper.rb new file mode 100644 index 000000000..a2645e4e1 --- /dev/null +++ b/app/helpers/bikes_helper.rb @@ -0,0 +1,2 @@ +module BikesHelper +end diff --git a/app/views/bikes/_row.html.erb b/app/views/bikes/_row.html.erb new file mode 100644 index 000000000..2946f5ddb --- /dev/null +++ b/app/views/bikes/_row.html.erb @@ -0,0 +1,3 @@ +
flexbox vertical stretch"> + Bike <%= bike.identifier %> +
diff --git a/app/views/bikes/_row.html.erb~ b/app/views/bikes/_row.html.erb~ new file mode 100644 index 000000000..39d546fcf --- /dev/null +++ b/app/views/bikes/_row.html.erb~ @@ -0,0 +1,4 @@ +
+

Bikes#_row

+

Find me in app/views/bikes/_row.html.erb

+
diff --git a/app/views/stations/_row.html.erb b/app/views/stations/_row.html.erb index 68a74d983..d15f07a5b 100644 --- a/app/views/stations/_row.html.erb +++ b/app/views/stations/_row.html.erb @@ -1,3 +1,9 @@
flexbox vertical stretch"> <%= station.identifier %>: <%= station.name %> (<%= station.address %>) -
\ No newline at end of file +
+ <%= station.docked_bikes.size %> available bikes: +
+
+ <%= render(partial: "bikes/row", collection: @bikes, as: :bike )%> +
+
diff --git a/app/views/stations/index.html.erb b/app/views/stations/index.html.erb index 05d4c6bee..d3bffe9bc 100644 --- a/app/views/stations/index.html.erb +++ b/app/views/stations/index.html.erb @@ -17,6 +17,12 @@ No stations found.
<% end %> + <% if @bikes.present? %> + <%= render(partial: "bikes/row", collection: @bikes, as: :bike) %><% else %> +
+ No bikes found. +
+ <% end %>
diff --git a/config/routes.rb b/config/routes.rb index f1eb0a0d8..a1acb561f 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,3 +1,5 @@ Rails.application.routes.draw do + get 'bikes/index' + get 'bikes/_row' root to: "stations#index" end \ No newline at end of file diff --git a/lib/tasks/load_data.rake b/lib/tasks/load_data.rake index ed8422818..6c6834dbf 100644 --- a/lib/tasks/load_data.rake +++ b/lib/tasks/load_data.rake @@ -1,18 +1,19 @@ namespace :load_data do require 'csv' + task :station => :environment do + CSV.foreach('/home/jadelilian/valetbike/notes/station-data.csv', :headers => true) do |row| #stations + Station.create(identifier: row[0], name: row[1], address: row[6]) + end + end + desc "Reads the bike and station data in from the CSV." #TODO this is probably a bad implementation that doesn't clean the data well. #something something dev left something something Rails Way idk what i'm doing. task :bike => :environment do CSV.foreach('/home/jadelilian/valetbike/notes/bike-data.csv', :headers => true) do |row| #bikes - Bike.create(:identifier => row[0], :current_station_id => row[1]) + Bike.create(identifier: row[0], current_station: Station.find_by(identifier: row[1])) end end - task :station => :environment do - CSV.foreach('/home/jadelilian/valetbike/notes/station-data.csv', :headers => true) do |row| #stations - Station.create(:identifier => row[0], :name => row[1], :address => row[6]) - end - end end diff --git a/test/controllers/bikes_controller_test.rb b/test/controllers/bikes_controller_test.rb new file mode 100644 index 000000000..4f9b2d3f3 --- /dev/null +++ b/test/controllers/bikes_controller_test.rb @@ -0,0 +1,13 @@ +require "test_helper" + +class BikesControllerTest < ActionDispatch::IntegrationTest + test "should get index" do + get bikes_index_url + assert_response :success + end + + test "should get _row" do + get bikes__row_url + assert_response :success + end +end From c5b07b5a3cad1c8adea47595ed7c4513f163d251 Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Tue, 17 Sep 2024 16:02:02 -0400 Subject: [PATCH 07/89] Fix bike view and docked bikes --- app/controllers/bikes_controller.rb | 4 ++-- app/views/stations/_row.html.erb | 4 ++-- lib/tasks/load_data.rake | 23 +++++++++++------------ 3 files changed, 15 insertions(+), 16 deletions(-) diff --git a/app/controllers/bikes_controller.rb b/app/controllers/bikes_controller.rb index 7b74e7bd4..cb424173b 100644 --- a/app/controllers/bikes_controller.rb +++ b/app/controllers/bikes_controller.rb @@ -1,7 +1,7 @@ class BikesController < ApplicationController - def index - end def _row + @bikes = Bike.all.order(identifier: :asc) end + end diff --git a/app/views/stations/_row.html.erb b/app/views/stations/_row.html.erb index d15f07a5b..3634891b3 100644 --- a/app/views/stations/_row.html.erb +++ b/app/views/stations/_row.html.erb @@ -1,9 +1,9 @@
flexbox vertical stretch"> <%= station.identifier %>: <%= station.name %> (<%= station.address %>)
- <%= station.docked_bikes.size %> available bikes: + <%= Bike.where(current_station_id: station.identifier).length %> available bikes:
- <%= render(partial: "bikes/row", collection: @bikes, as: :bike )%> + <%= render(partial: "bikes/row", collection: Bike.where(current_station_id: station.identifier), as: :bike )%>
diff --git a/lib/tasks/load_data.rake b/lib/tasks/load_data.rake index 6c6834dbf..45528c8ac 100644 --- a/lib/tasks/load_data.rake +++ b/lib/tasks/load_data.rake @@ -1,19 +1,18 @@ namespace :load_data do - require 'csv' + require 'csv' - task :station => :environment do - CSV.foreach('/home/jadelilian/valetbike/notes/station-data.csv', :headers => true) do |row| #stations - Station.create(identifier: row[0], name: row[1], address: row[6]) - end + desc "Reads the station data in from the CSV." + task :station => :environment do + CSV.foreach('/home/jadelilian/valetbike/notes/station-data.csv', :headers => true) do |row| #stations + Station.create!(identifier: row[0], name: row[1], address: row[6]) end + end - desc "Reads the bike and station data in from the CSV." - #TODO this is probably a bad implementation that doesn't clean the data well. - #something something dev left something something Rails Way idk what i'm doing. - task :bike => :environment do - CSV.foreach('/home/jadelilian/valetbike/notes/bike-data.csv', :headers => true) do |row| #bikes - Bike.create(identifier: row[0], current_station: Station.find_by(identifier: row[1])) - end + desc "Reads the bike data in from the CSV." + task :bike => :environment do + CSV.foreach('/home/jadelilian/valetbike/notes/bike-data.csv', :headers => true) do |row| #bikes + Bike.create!(identifier: row[0], current_station: Station.find_by(identifier: row[1])) end + end end From a14b22653112faa044c160eb5731e4474c56b154 Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Fri, 20 Sep 2024 22:02:02 -0400 Subject: [PATCH 08/89] Purge features-in-progress and finalize bike lists and available bikes --- app/views/bikes/_row.html.erb~ | 4 ---- app/views/stations/index.html.erb | 14 +------------- 2 files changed, 1 insertion(+), 17 deletions(-) delete mode 100644 app/views/bikes/_row.html.erb~ diff --git a/app/views/bikes/_row.html.erb~ b/app/views/bikes/_row.html.erb~ deleted file mode 100644 index 39d546fcf..000000000 --- a/app/views/bikes/_row.html.erb~ +++ /dev/null @@ -1,4 +0,0 @@ -
-

Bikes#_row

-

Find me in app/views/bikes/_row.html.erb

-
diff --git a/app/views/stations/index.html.erb b/app/views/stations/index.html.erb index d3bffe9bc..bb94b9f2c 100644 --- a/app/views/stations/index.html.erb +++ b/app/views/stations/index.html.erb @@ -3,12 +3,6 @@
Welcome to ValetBike <3
- -
<% if @stations.present? %> <%= render(partial: "stations/row", collection: @stations, as: :station) %> @@ -17,12 +11,6 @@ No stations found.
<% end %> - <% if @bikes.present? %> - <%= render(partial: "bikes/row", collection: @bikes, as: :bike) %><% else %> -
- No bikes found. -
- <% end %> - + From 929859de825bfd2945c2ae63ef4f05eff1230188 Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Thu, 17 Oct 2024 17:12:45 -0400 Subject: [PATCH 09/89] gitignore Gemfiles --- .gitignore | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 8ac3419f0..dc811e2de 100644 --- a/.gitignore +++ b/.gitignore @@ -37,4 +37,8 @@ .tool-versions # Ignore ENV variable file -.env \ No newline at end of file +.env + +# Ignore Gemfiles +Gemfile +Gemfile.lock \ No newline at end of file From cb39beb8ff53fb17523646ccc84405ab0aa267ae Mon Sep 17 00:00:00 2001 From: Lynn Do Date: Thu, 17 Oct 2024 17:21:12 -0400 Subject: [PATCH 10/89] Initial commit --- .gitignore | 6 +- Gemfile | 6 +- Gemfile.lock | 312 ++++++++++++++++++++++++++++----------------------- 3 files changed, 181 insertions(+), 143 deletions(-) diff --git a/.gitignore b/.gitignore index 8ac3419f0..dc811e2de 100644 --- a/.gitignore +++ b/.gitignore @@ -37,4 +37,8 @@ .tool-versions # Ignore ENV variable file -.env \ No newline at end of file +.env + +# Ignore Gemfiles +Gemfile +Gemfile.lock \ No newline at end of file diff --git a/Gemfile b/Gemfile index 5efe339e6..bfeef6853 100644 --- a/Gemfile +++ b/Gemfile @@ -34,10 +34,10 @@ gem "jbuilder" gem "redis", "~> 4.0" # Use Kredis to get higher-level data types in Redis [https://github.com/rails/kredis] -# gem "kredis" +gem "kredis" # Use Active Model has_secure_password [https://guides.rubyonrails.org/active_model_basics.html#securepassword] -# gem "bcrypt", "~> 3.1.7" +gem "bcrypt", "~> 3.1.7" # Windows does not include zoneinfo files, so bundle the tzinfo-data gem gem "tzinfo-data", platforms: %i[ mingw mswin x64_mingw jruby ] @@ -83,3 +83,5 @@ gem 'dotenv-rails' # gem 'paperclip # gem 'uniquify' # gem 'will_paginate' + +gem "nio4r", "~> 2.5" diff --git a/Gemfile.lock b/Gemfile.lock index c3e104938..65032bd89 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,238 +1,270 @@ GEM remote: https://rubygems.org/ specs: - actioncable (7.0.3.1) - actionpack (= 7.0.3.1) - activesupport (= 7.0.3.1) + actioncable (7.0.8.4) + actionpack (= 7.0.8.4) + activesupport (= 7.0.8.4) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (7.0.3.1) - actionpack (= 7.0.3.1) - activejob (= 7.0.3.1) - activerecord (= 7.0.3.1) - activestorage (= 7.0.3.1) - activesupport (= 7.0.3.1) + actionmailbox (7.0.8.4) + actionpack (= 7.0.8.4) + activejob (= 7.0.8.4) + activerecord (= 7.0.8.4) + activestorage (= 7.0.8.4) + activesupport (= 7.0.8.4) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.0.3.1) - actionpack (= 7.0.3.1) - actionview (= 7.0.3.1) - activejob (= 7.0.3.1) - activesupport (= 7.0.3.1) + actionmailer (7.0.8.4) + actionpack (= 7.0.8.4) + actionview (= 7.0.8.4) + activejob (= 7.0.8.4) + activesupport (= 7.0.8.4) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.0) - actionpack (7.0.3.1) - actionview (= 7.0.3.1) - activesupport (= 7.0.3.1) - rack (~> 2.0, >= 2.2.0) + actionpack (7.0.8.4) + actionview (= 7.0.8.4) + activesupport (= 7.0.8.4) + rack (~> 2.0, >= 2.2.4) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (7.0.3.1) - actionpack (= 7.0.3.1) - activerecord (= 7.0.3.1) - activestorage (= 7.0.3.1) - activesupport (= 7.0.3.1) + actiontext (7.0.8.4) + actionpack (= 7.0.8.4) + activerecord (= 7.0.8.4) + activestorage (= 7.0.8.4) + activesupport (= 7.0.8.4) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.0.3.1) - activesupport (= 7.0.3.1) + actionview (7.0.8.4) + activesupport (= 7.0.8.4) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (7.0.3.1) - activesupport (= 7.0.3.1) + activejob (7.0.8.4) + activesupport (= 7.0.8.4) globalid (>= 0.3.6) - activemodel (7.0.3.1) - activesupport (= 7.0.3.1) - activerecord (7.0.3.1) - activemodel (= 7.0.3.1) - activesupport (= 7.0.3.1) - activestorage (7.0.3.1) - actionpack (= 7.0.3.1) - activejob (= 7.0.3.1) - activerecord (= 7.0.3.1) - activesupport (= 7.0.3.1) + activemodel (7.0.8.4) + activesupport (= 7.0.8.4) + activerecord (7.0.8.4) + activemodel (= 7.0.8.4) + activesupport (= 7.0.8.4) + activestorage (7.0.8.4) + actionpack (= 7.0.8.4) + activejob (= 7.0.8.4) + activerecord (= 7.0.8.4) + activesupport (= 7.0.8.4) marcel (~> 1.0) mini_mime (>= 1.1.0) - activesupport (7.0.3.1) + activesupport (7.0.8.4) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) tzinfo (~> 2.0) - addressable (2.8.1) - public_suffix (>= 2.0.2, < 6.0) + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + bcrypt (3.1.20) bindex (0.8.1) - bootsnap (1.13.0) + bootsnap (1.18.4) msgpack (~> 1.2) - builder (3.2.4) - capybara (3.37.1) + builder (3.3.0) + capybara (3.40.0) addressable matrix mini_mime (>= 0.1.3) - nokogiri (~> 1.8) + nokogiri (~> 1.11) rack (>= 1.6.0) rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) - childprocess (4.1.0) - concurrent-ruby (1.1.10) + concurrent-ruby (1.3.4) crass (1.0.6) - debug (1.6.2) - irb (>= 1.3.6) - reline (>= 0.3.1) - digest (3.1.0) - dotenv (2.8.1) - dotenv-rails (2.8.1) - dotenv (= 2.8.1) - railties (>= 3.2) - erubi (1.11.0) - globalid (1.0.0) - activesupport (>= 5.0) - i18n (1.12.0) + date (3.3.4) + debug (1.9.2) + irb (~> 1.10) + reline (>= 0.3.8) + dotenv (3.1.2) + dotenv-rails (3.1.2) + dotenv (= 3.1.2) + railties (>= 6.1) + erubi (1.13.0) + globalid (1.2.1) + activesupport (>= 6.1) + i18n (1.14.5) concurrent-ruby (~> 1.0) - importmap-rails (1.1.5) + importmap-rails (2.0.1) actionpack (>= 6.0.0) + activesupport (>= 6.0.0) railties (>= 6.0.0) - io-console (0.5.11) - irb (1.4.1) - reline (>= 0.3.0) - jbuilder (2.11.5) + io-console (0.7.2) + irb (1.14.0) + rdoc (>= 4.0.0) + reline (>= 0.4.2) + jbuilder (2.12.0) actionview (>= 5.0.0) activesupport (>= 5.0.0) - loofah (2.18.0) + kredis (1.7.0) + activemodel (>= 6.0.0) + activesupport (>= 6.0.0) + redis (>= 4.2, < 6) + loofah (2.22.0) crass (~> 1.0.2) - nokogiri (>= 1.5.9) - mail (2.7.1) + nokogiri (>= 1.12.0) + mail (2.8.1) mini_mime (>= 0.1.1) - marcel (1.0.2) + net-imap + net-pop + net-smtp + marcel (1.0.4) matrix (0.4.2) - method_source (1.0.0) - mini_mime (1.1.2) - minitest (5.16.3) - msgpack (1.5.6) - mysql2 (0.5.4) - net-imap (0.2.3) - digest + method_source (1.1.0) + mini_mime (1.1.5) + minitest (5.25.1) + msgpack (1.7.2) + mysql2 (0.5.6) + net-imap (0.4.16) + date net-protocol - strscan - net-pop (0.1.1) - digest + net-pop (0.1.2) net-protocol + net-protocol (0.2.2) timeout - net-protocol (0.1.3) - timeout - net-smtp (0.3.1) - digest + net-smtp (0.5.0) net-protocol - timeout - nio4r (2.5.8) - nokogiri (1.13.8-arm64-darwin) + nio4r (2.7.3) + nokogiri (1.16.7-aarch64-linux) racc (~> 1.4) - nokogiri (1.13.8-x86_64-linux) + nokogiri (1.16.7-arm-linux) racc (~> 1.4) - public_suffix (5.0.0) - puma (5.6.5) + nokogiri (1.16.7-arm64-darwin) + racc (~> 1.4) + nokogiri (1.16.7-x86-linux) + racc (~> 1.4) + nokogiri (1.16.7-x86_64-darwin) + racc (~> 1.4) + nokogiri (1.16.7-x86_64-linux) + racc (~> 1.4) + psych (5.1.2) + stringio + public_suffix (6.0.1) + puma (5.6.8) nio4r (~> 2.0) - racc (1.6.0) - rack (2.2.4) - rack-test (2.0.2) + racc (1.8.1) + rack (2.2.9) + rack-test (2.1.0) rack (>= 1.3) - rails (7.0.3.1) - actioncable (= 7.0.3.1) - actionmailbox (= 7.0.3.1) - actionmailer (= 7.0.3.1) - actionpack (= 7.0.3.1) - actiontext (= 7.0.3.1) - actionview (= 7.0.3.1) - activejob (= 7.0.3.1) - activemodel (= 7.0.3.1) - activerecord (= 7.0.3.1) - activestorage (= 7.0.3.1) - activesupport (= 7.0.3.1) + rails (7.0.8.4) + actioncable (= 7.0.8.4) + actionmailbox (= 7.0.8.4) + actionmailer (= 7.0.8.4) + actionpack (= 7.0.8.4) + actiontext (= 7.0.8.4) + actionview (= 7.0.8.4) + activejob (= 7.0.8.4) + activemodel (= 7.0.8.4) + activerecord (= 7.0.8.4) + activestorage (= 7.0.8.4) + activesupport (= 7.0.8.4) bundler (>= 1.15.0) - railties (= 7.0.3.1) - rails-dom-testing (2.0.3) - activesupport (>= 4.2.0) + railties (= 7.0.8.4) + rails-dom-testing (2.2.0) + activesupport (>= 5.0.0) + minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.4.3) - loofah (~> 2.3) - railties (7.0.3.1) - actionpack (= 7.0.3.1) - activesupport (= 7.0.3.1) + rails-html-sanitizer (1.6.0) + loofah (~> 2.21) + nokogiri (~> 1.14) + railties (7.0.8.4) + actionpack (= 7.0.8.4) + activesupport (= 7.0.8.4) method_source rake (>= 12.2) thor (~> 1.0) zeitwerk (~> 2.5) - rake (13.0.6) - redis (4.8.0) - regexp_parser (2.5.0) - reline (0.3.1) + rake (13.2.1) + rdoc (6.7.0) + psych (>= 4.0.0) + redis (4.8.1) + regexp_parser (2.9.2) + reline (0.5.10) io-console (~> 0.5) - rexml (3.2.5) + rexml (3.3.7) rubyzip (2.3.2) - selenium-webdriver (4.4.0) - childprocess (>= 0.5, < 5.0) + selenium-webdriver (4.10.0) rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) websocket (~> 1.0) - sprockets (4.1.1) + sprockets (4.2.1) concurrent-ruby (~> 1.0) - rack (> 1, < 3) - sprockets-rails (3.4.2) - actionpack (>= 5.2) - activesupport (>= 5.2) + rack (>= 2.2.4, < 4) + sprockets-rails (3.5.2) + actionpack (>= 6.1) + activesupport (>= 6.1) sprockets (>= 3.0.0) - stimulus-rails (1.1.0) - railties (>= 6.0.0) - strscan (3.0.4) - tailwindcss-rails (2.0.12-arm64-darwin) - railties (>= 6.0.0) - tailwindcss-rails (2.0.12-x86_64-linux) + stimulus-rails (1.3.4) railties (>= 6.0.0) - thor (1.2.1) - timeout (0.3.0) - turbo-rails (1.1.1) + stringio (3.1.1) + tailwindcss-rails (2.7.3) + railties (>= 7.0.0) + tailwindcss-rails (2.7.3-aarch64-linux) + railties (>= 7.0.0) + tailwindcss-rails (2.7.3-arm-linux) + railties (>= 7.0.0) + tailwindcss-rails (2.7.3-arm64-darwin) + railties (>= 7.0.0) + tailwindcss-rails (2.7.3-x86_64-darwin) + railties (>= 7.0.0) + tailwindcss-rails (2.7.3-x86_64-linux) + railties (>= 7.0.0) + thor (1.3.2) + timeout (0.4.1) + turbo-rails (2.0.6) actionpack (>= 6.0.0) activejob (>= 6.0.0) railties (>= 6.0.0) - tzinfo (2.0.5) + tzinfo (2.0.6) concurrent-ruby (~> 1.0) - web-console (4.2.0) + web-console (4.2.1) actionview (>= 6.0.0) activemodel (>= 6.0.0) bindex (>= 0.4.0) railties (>= 6.0.0) - webdrivers (5.0.0) + webdrivers (5.3.1) nokogiri (~> 1.6) rubyzip (>= 1.3.0) - selenium-webdriver (~> 4.0) - websocket (1.2.9) - websocket-driver (0.7.5) + selenium-webdriver (~> 4.0, < 4.11) + websocket (1.2.11) + websocket-driver (0.7.6) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.6.0) + zeitwerk (2.6.18) PLATFORMS - arm64-darwin-20 + aarch64-linux + arm-linux + arm64-darwin + x86-linux + x86_64-darwin x86_64-linux DEPENDENCIES + bcrypt (~> 3.1.7) bootsnap capybara debug dotenv-rails importmap-rails jbuilder + kredis mysql2 (~> 0.5) + nio4r (~> 2.5) puma (~> 5.0) rails (~> 7.0.3, >= 7.0.3.1) redis (~> 4.0) @@ -249,4 +281,4 @@ RUBY VERSION ruby 3.1.2p20 BUNDLED WITH - 2.3.18 + 2.5.18 From 13b4c6e946570133f66d29114f59c17631fb7dcc Mon Sep 17 00:00:00 2001 From: jade lilian <84644378+gemstone496@users.noreply.github.com> Date: Thu, 17 Oct 2024 17:25:49 -0400 Subject: [PATCH 11/89] Delete Gemfile and Gemfile.lock --- Gemfile.lock | 252 --------------------------------------------------- 1 file changed, 252 deletions(-) delete mode 100644 Gemfile.lock diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100644 index c3e104938..000000000 --- a/Gemfile.lock +++ /dev/null @@ -1,252 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - actioncable (7.0.3.1) - actionpack (= 7.0.3.1) - activesupport (= 7.0.3.1) - nio4r (~> 2.0) - websocket-driver (>= 0.6.1) - actionmailbox (7.0.3.1) - actionpack (= 7.0.3.1) - activejob (= 7.0.3.1) - activerecord (= 7.0.3.1) - activestorage (= 7.0.3.1) - activesupport (= 7.0.3.1) - mail (>= 2.7.1) - net-imap - net-pop - net-smtp - actionmailer (7.0.3.1) - actionpack (= 7.0.3.1) - actionview (= 7.0.3.1) - activejob (= 7.0.3.1) - activesupport (= 7.0.3.1) - mail (~> 2.5, >= 2.5.4) - net-imap - net-pop - net-smtp - rails-dom-testing (~> 2.0) - actionpack (7.0.3.1) - actionview (= 7.0.3.1) - activesupport (= 7.0.3.1) - rack (~> 2.0, >= 2.2.0) - rack-test (>= 0.6.3) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (7.0.3.1) - actionpack (= 7.0.3.1) - activerecord (= 7.0.3.1) - activestorage (= 7.0.3.1) - activesupport (= 7.0.3.1) - globalid (>= 0.6.0) - nokogiri (>= 1.8.5) - actionview (7.0.3.1) - activesupport (= 7.0.3.1) - builder (~> 3.1) - erubi (~> 1.4) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (7.0.3.1) - activesupport (= 7.0.3.1) - globalid (>= 0.3.6) - activemodel (7.0.3.1) - activesupport (= 7.0.3.1) - activerecord (7.0.3.1) - activemodel (= 7.0.3.1) - activesupport (= 7.0.3.1) - activestorage (7.0.3.1) - actionpack (= 7.0.3.1) - activejob (= 7.0.3.1) - activerecord (= 7.0.3.1) - activesupport (= 7.0.3.1) - marcel (~> 1.0) - mini_mime (>= 1.1.0) - activesupport (7.0.3.1) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 1.6, < 2) - minitest (>= 5.1) - tzinfo (~> 2.0) - addressable (2.8.1) - public_suffix (>= 2.0.2, < 6.0) - bindex (0.8.1) - bootsnap (1.13.0) - msgpack (~> 1.2) - builder (3.2.4) - capybara (3.37.1) - addressable - matrix - mini_mime (>= 0.1.3) - nokogiri (~> 1.8) - rack (>= 1.6.0) - rack-test (>= 0.6.3) - regexp_parser (>= 1.5, < 3.0) - xpath (~> 3.2) - childprocess (4.1.0) - concurrent-ruby (1.1.10) - crass (1.0.6) - debug (1.6.2) - irb (>= 1.3.6) - reline (>= 0.3.1) - digest (3.1.0) - dotenv (2.8.1) - dotenv-rails (2.8.1) - dotenv (= 2.8.1) - railties (>= 3.2) - erubi (1.11.0) - globalid (1.0.0) - activesupport (>= 5.0) - i18n (1.12.0) - concurrent-ruby (~> 1.0) - importmap-rails (1.1.5) - actionpack (>= 6.0.0) - railties (>= 6.0.0) - io-console (0.5.11) - irb (1.4.1) - reline (>= 0.3.0) - jbuilder (2.11.5) - actionview (>= 5.0.0) - activesupport (>= 5.0.0) - loofah (2.18.0) - crass (~> 1.0.2) - nokogiri (>= 1.5.9) - mail (2.7.1) - mini_mime (>= 0.1.1) - marcel (1.0.2) - matrix (0.4.2) - method_source (1.0.0) - mini_mime (1.1.2) - minitest (5.16.3) - msgpack (1.5.6) - mysql2 (0.5.4) - net-imap (0.2.3) - digest - net-protocol - strscan - net-pop (0.1.1) - digest - net-protocol - timeout - net-protocol (0.1.3) - timeout - net-smtp (0.3.1) - digest - net-protocol - timeout - nio4r (2.5.8) - nokogiri (1.13.8-arm64-darwin) - racc (~> 1.4) - nokogiri (1.13.8-x86_64-linux) - racc (~> 1.4) - public_suffix (5.0.0) - puma (5.6.5) - nio4r (~> 2.0) - racc (1.6.0) - rack (2.2.4) - rack-test (2.0.2) - rack (>= 1.3) - rails (7.0.3.1) - actioncable (= 7.0.3.1) - actionmailbox (= 7.0.3.1) - actionmailer (= 7.0.3.1) - actionpack (= 7.0.3.1) - actiontext (= 7.0.3.1) - actionview (= 7.0.3.1) - activejob (= 7.0.3.1) - activemodel (= 7.0.3.1) - activerecord (= 7.0.3.1) - activestorage (= 7.0.3.1) - activesupport (= 7.0.3.1) - bundler (>= 1.15.0) - railties (= 7.0.3.1) - rails-dom-testing (2.0.3) - activesupport (>= 4.2.0) - nokogiri (>= 1.6) - rails-html-sanitizer (1.4.3) - loofah (~> 2.3) - railties (7.0.3.1) - actionpack (= 7.0.3.1) - activesupport (= 7.0.3.1) - method_source - rake (>= 12.2) - thor (~> 1.0) - zeitwerk (~> 2.5) - rake (13.0.6) - redis (4.8.0) - regexp_parser (2.5.0) - reline (0.3.1) - io-console (~> 0.5) - rexml (3.2.5) - rubyzip (2.3.2) - selenium-webdriver (4.4.0) - childprocess (>= 0.5, < 5.0) - rexml (~> 3.2, >= 3.2.5) - rubyzip (>= 1.2.2, < 3.0) - websocket (~> 1.0) - sprockets (4.1.1) - concurrent-ruby (~> 1.0) - rack (> 1, < 3) - sprockets-rails (3.4.2) - actionpack (>= 5.2) - activesupport (>= 5.2) - sprockets (>= 3.0.0) - stimulus-rails (1.1.0) - railties (>= 6.0.0) - strscan (3.0.4) - tailwindcss-rails (2.0.12-arm64-darwin) - railties (>= 6.0.0) - tailwindcss-rails (2.0.12-x86_64-linux) - railties (>= 6.0.0) - thor (1.2.1) - timeout (0.3.0) - turbo-rails (1.1.1) - actionpack (>= 6.0.0) - activejob (>= 6.0.0) - railties (>= 6.0.0) - tzinfo (2.0.5) - concurrent-ruby (~> 1.0) - web-console (4.2.0) - actionview (>= 6.0.0) - activemodel (>= 6.0.0) - bindex (>= 0.4.0) - railties (>= 6.0.0) - webdrivers (5.0.0) - nokogiri (~> 1.6) - rubyzip (>= 1.3.0) - selenium-webdriver (~> 4.0) - websocket (1.2.9) - websocket-driver (0.7.5) - websocket-extensions (>= 0.1.0) - websocket-extensions (0.1.5) - xpath (3.2.0) - nokogiri (~> 1.8) - zeitwerk (2.6.0) - -PLATFORMS - arm64-darwin-20 - x86_64-linux - -DEPENDENCIES - bootsnap - capybara - debug - dotenv-rails - importmap-rails - jbuilder - mysql2 (~> 0.5) - puma (~> 5.0) - rails (~> 7.0.3, >= 7.0.3.1) - redis (~> 4.0) - selenium-webdriver - sprockets-rails - stimulus-rails - tailwindcss-rails - turbo-rails - tzinfo-data - web-console - webdrivers - -RUBY VERSION - ruby 3.1.2p20 - -BUNDLED WITH - 2.3.18 From e74d7eee87e43c4c85564664b494f82b7ac7b044 Mon Sep 17 00:00:00 2001 From: jade lilian <84644378+gemstone496@users.noreply.github.com> Date: Thu, 17 Oct 2024 17:26:13 -0400 Subject: [PATCH 12/89] Delete Gemfile and Gemfile.lock --- Gemfile | 85 --------------------------------------------------------- 1 file changed, 85 deletions(-) delete mode 100644 Gemfile diff --git a/Gemfile b/Gemfile deleted file mode 100644 index 5efe339e6..000000000 --- a/Gemfile +++ /dev/null @@ -1,85 +0,0 @@ -source "https://rubygems.org" -git_source(:github) { |repo| "https://github.com/#{repo}.git" } - -ruby "3.1.2" - -# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main" -gem "rails", "~> 7.0.3", ">= 7.0.3.1" - -# The original asset pipeline for Rails [https://github.com/rails/sprockets-rails] -gem "sprockets-rails" - -# Use mysql as the database for Active Record -gem "mysql2", "~> 0.5" - -# Use the Puma web server [https://github.com/puma/puma] -gem "puma", "~> 5.0" - -# Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails] -gem "importmap-rails" - -# Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev] -gem "turbo-rails" - -# Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev] -gem "stimulus-rails" - -# Use Tailwind CSS [https://github.com/rails/tailwindcss-rails] -gem "tailwindcss-rails" - -# Build JSON APIs with ease [https://github.com/rails/jbuilder] -gem "jbuilder" - -# Use Redis adapter to run Action Cable in production -gem "redis", "~> 4.0" - -# Use Kredis to get higher-level data types in Redis [https://github.com/rails/kredis] -# gem "kredis" - -# Use Active Model has_secure_password [https://guides.rubyonrails.org/active_model_basics.html#securepassword] -# gem "bcrypt", "~> 3.1.7" - -# Windows does not include zoneinfo files, so bundle the tzinfo-data gem -gem "tzinfo-data", platforms: %i[ mingw mswin x64_mingw jruby ] - -# Reduces boot times through caching; required in config/boot.rb -gem "bootsnap", require: false - -# Use Sass to process CSS -# gem "sassc-rails" - -# Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images] -# gem "image_processing", "~> 1.2" - -group :development, :test do - # See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem - gem "debug", platforms: %i[ mri mingw x64_mingw ] -end - -group :development do - # Use console on exceptions pages [https://github.com/rails/web-console] - gem "web-console" - - # Add speed badges [https://github.com/MiniProfiler/rack-mini-profiler] - # gem "rack-mini-profiler" - - # Speed up commands on slow machines / big apps [https://github.com/rails/spring] - # gem "spring" -end - -group :test do - # Use system testing [https://guides.rubyonrails.org/testing.html#system-testing] - gem "capybara" - gem "selenium-webdriver" - gem "webdrivers" -end - -# Developer Added Gems -gem 'dotenv-rails' - -# Suggested Potentially Useful Gems -# gem 'devise' -# gem 'httparty' -# gem 'paperclip -# gem 'uniquify' -# gem 'will_paginate' From b5a5a7550ac64758b93f5030ef12ead1d73bf922 Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Thu, 17 Oct 2024 17:51:20 -0400 Subject: [PATCH 13/89] whoops deleted Gemfiles on accident, time to fix it --- Gemfile | 85 +++++++++++++++++ Gemfile.lock | 252 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 337 insertions(+) create mode 100644 Gemfile create mode 100644 Gemfile.lock diff --git a/Gemfile b/Gemfile new file mode 100644 index 000000000..5efe339e6 --- /dev/null +++ b/Gemfile @@ -0,0 +1,85 @@ +source "https://rubygems.org" +git_source(:github) { |repo| "https://github.com/#{repo}.git" } + +ruby "3.1.2" + +# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main" +gem "rails", "~> 7.0.3", ">= 7.0.3.1" + +# The original asset pipeline for Rails [https://github.com/rails/sprockets-rails] +gem "sprockets-rails" + +# Use mysql as the database for Active Record +gem "mysql2", "~> 0.5" + +# Use the Puma web server [https://github.com/puma/puma] +gem "puma", "~> 5.0" + +# Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails] +gem "importmap-rails" + +# Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev] +gem "turbo-rails" + +# Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev] +gem "stimulus-rails" + +# Use Tailwind CSS [https://github.com/rails/tailwindcss-rails] +gem "tailwindcss-rails" + +# Build JSON APIs with ease [https://github.com/rails/jbuilder] +gem "jbuilder" + +# Use Redis adapter to run Action Cable in production +gem "redis", "~> 4.0" + +# Use Kredis to get higher-level data types in Redis [https://github.com/rails/kredis] +# gem "kredis" + +# Use Active Model has_secure_password [https://guides.rubyonrails.org/active_model_basics.html#securepassword] +# gem "bcrypt", "~> 3.1.7" + +# Windows does not include zoneinfo files, so bundle the tzinfo-data gem +gem "tzinfo-data", platforms: %i[ mingw mswin x64_mingw jruby ] + +# Reduces boot times through caching; required in config/boot.rb +gem "bootsnap", require: false + +# Use Sass to process CSS +# gem "sassc-rails" + +# Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images] +# gem "image_processing", "~> 1.2" + +group :development, :test do + # See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem + gem "debug", platforms: %i[ mri mingw x64_mingw ] +end + +group :development do + # Use console on exceptions pages [https://github.com/rails/web-console] + gem "web-console" + + # Add speed badges [https://github.com/MiniProfiler/rack-mini-profiler] + # gem "rack-mini-profiler" + + # Speed up commands on slow machines / big apps [https://github.com/rails/spring] + # gem "spring" +end + +group :test do + # Use system testing [https://guides.rubyonrails.org/testing.html#system-testing] + gem "capybara" + gem "selenium-webdriver" + gem "webdrivers" +end + +# Developer Added Gems +gem 'dotenv-rails' + +# Suggested Potentially Useful Gems +# gem 'devise' +# gem 'httparty' +# gem 'paperclip +# gem 'uniquify' +# gem 'will_paginate' diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 000000000..c3e104938 --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,252 @@ +GEM + remote: https://rubygems.org/ + specs: + actioncable (7.0.3.1) + actionpack (= 7.0.3.1) + activesupport (= 7.0.3.1) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + actionmailbox (7.0.3.1) + actionpack (= 7.0.3.1) + activejob (= 7.0.3.1) + activerecord (= 7.0.3.1) + activestorage (= 7.0.3.1) + activesupport (= 7.0.3.1) + mail (>= 2.7.1) + net-imap + net-pop + net-smtp + actionmailer (7.0.3.1) + actionpack (= 7.0.3.1) + actionview (= 7.0.3.1) + activejob (= 7.0.3.1) + activesupport (= 7.0.3.1) + mail (~> 2.5, >= 2.5.4) + net-imap + net-pop + net-smtp + rails-dom-testing (~> 2.0) + actionpack (7.0.3.1) + actionview (= 7.0.3.1) + activesupport (= 7.0.3.1) + rack (~> 2.0, >= 2.2.0) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.2.0) + actiontext (7.0.3.1) + actionpack (= 7.0.3.1) + activerecord (= 7.0.3.1) + activestorage (= 7.0.3.1) + activesupport (= 7.0.3.1) + globalid (>= 0.6.0) + nokogiri (>= 1.8.5) + actionview (7.0.3.1) + activesupport (= 7.0.3.1) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.1, >= 1.2.0) + activejob (7.0.3.1) + activesupport (= 7.0.3.1) + globalid (>= 0.3.6) + activemodel (7.0.3.1) + activesupport (= 7.0.3.1) + activerecord (7.0.3.1) + activemodel (= 7.0.3.1) + activesupport (= 7.0.3.1) + activestorage (7.0.3.1) + actionpack (= 7.0.3.1) + activejob (= 7.0.3.1) + activerecord (= 7.0.3.1) + activesupport (= 7.0.3.1) + marcel (~> 1.0) + mini_mime (>= 1.1.0) + activesupport (7.0.3.1) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + addressable (2.8.1) + public_suffix (>= 2.0.2, < 6.0) + bindex (0.8.1) + bootsnap (1.13.0) + msgpack (~> 1.2) + builder (3.2.4) + capybara (3.37.1) + addressable + matrix + mini_mime (>= 0.1.3) + nokogiri (~> 1.8) + rack (>= 1.6.0) + rack-test (>= 0.6.3) + regexp_parser (>= 1.5, < 3.0) + xpath (~> 3.2) + childprocess (4.1.0) + concurrent-ruby (1.1.10) + crass (1.0.6) + debug (1.6.2) + irb (>= 1.3.6) + reline (>= 0.3.1) + digest (3.1.0) + dotenv (2.8.1) + dotenv-rails (2.8.1) + dotenv (= 2.8.1) + railties (>= 3.2) + erubi (1.11.0) + globalid (1.0.0) + activesupport (>= 5.0) + i18n (1.12.0) + concurrent-ruby (~> 1.0) + importmap-rails (1.1.5) + actionpack (>= 6.0.0) + railties (>= 6.0.0) + io-console (0.5.11) + irb (1.4.1) + reline (>= 0.3.0) + jbuilder (2.11.5) + actionview (>= 5.0.0) + activesupport (>= 5.0.0) + loofah (2.18.0) + crass (~> 1.0.2) + nokogiri (>= 1.5.9) + mail (2.7.1) + mini_mime (>= 0.1.1) + marcel (1.0.2) + matrix (0.4.2) + method_source (1.0.0) + mini_mime (1.1.2) + minitest (5.16.3) + msgpack (1.5.6) + mysql2 (0.5.4) + net-imap (0.2.3) + digest + net-protocol + strscan + net-pop (0.1.1) + digest + net-protocol + timeout + net-protocol (0.1.3) + timeout + net-smtp (0.3.1) + digest + net-protocol + timeout + nio4r (2.5.8) + nokogiri (1.13.8-arm64-darwin) + racc (~> 1.4) + nokogiri (1.13.8-x86_64-linux) + racc (~> 1.4) + public_suffix (5.0.0) + puma (5.6.5) + nio4r (~> 2.0) + racc (1.6.0) + rack (2.2.4) + rack-test (2.0.2) + rack (>= 1.3) + rails (7.0.3.1) + actioncable (= 7.0.3.1) + actionmailbox (= 7.0.3.1) + actionmailer (= 7.0.3.1) + actionpack (= 7.0.3.1) + actiontext (= 7.0.3.1) + actionview (= 7.0.3.1) + activejob (= 7.0.3.1) + activemodel (= 7.0.3.1) + activerecord (= 7.0.3.1) + activestorage (= 7.0.3.1) + activesupport (= 7.0.3.1) + bundler (>= 1.15.0) + railties (= 7.0.3.1) + rails-dom-testing (2.0.3) + activesupport (>= 4.2.0) + nokogiri (>= 1.6) + rails-html-sanitizer (1.4.3) + loofah (~> 2.3) + railties (7.0.3.1) + actionpack (= 7.0.3.1) + activesupport (= 7.0.3.1) + method_source + rake (>= 12.2) + thor (~> 1.0) + zeitwerk (~> 2.5) + rake (13.0.6) + redis (4.8.0) + regexp_parser (2.5.0) + reline (0.3.1) + io-console (~> 0.5) + rexml (3.2.5) + rubyzip (2.3.2) + selenium-webdriver (4.4.0) + childprocess (>= 0.5, < 5.0) + rexml (~> 3.2, >= 3.2.5) + rubyzip (>= 1.2.2, < 3.0) + websocket (~> 1.0) + sprockets (4.1.1) + concurrent-ruby (~> 1.0) + rack (> 1, < 3) + sprockets-rails (3.4.2) + actionpack (>= 5.2) + activesupport (>= 5.2) + sprockets (>= 3.0.0) + stimulus-rails (1.1.0) + railties (>= 6.0.0) + strscan (3.0.4) + tailwindcss-rails (2.0.12-arm64-darwin) + railties (>= 6.0.0) + tailwindcss-rails (2.0.12-x86_64-linux) + railties (>= 6.0.0) + thor (1.2.1) + timeout (0.3.0) + turbo-rails (1.1.1) + actionpack (>= 6.0.0) + activejob (>= 6.0.0) + railties (>= 6.0.0) + tzinfo (2.0.5) + concurrent-ruby (~> 1.0) + web-console (4.2.0) + actionview (>= 6.0.0) + activemodel (>= 6.0.0) + bindex (>= 0.4.0) + railties (>= 6.0.0) + webdrivers (5.0.0) + nokogiri (~> 1.6) + rubyzip (>= 1.3.0) + selenium-webdriver (~> 4.0) + websocket (1.2.9) + websocket-driver (0.7.5) + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.5) + xpath (3.2.0) + nokogiri (~> 1.8) + zeitwerk (2.6.0) + +PLATFORMS + arm64-darwin-20 + x86_64-linux + +DEPENDENCIES + bootsnap + capybara + debug + dotenv-rails + importmap-rails + jbuilder + mysql2 (~> 0.5) + puma (~> 5.0) + rails (~> 7.0.3, >= 7.0.3.1) + redis (~> 4.0) + selenium-webdriver + sprockets-rails + stimulus-rails + tailwindcss-rails + turbo-rails + tzinfo-data + web-console + webdrivers + +RUBY VERSION + ruby 3.1.2p20 + +BUNDLED WITH + 2.3.18 From eb34c0a44df529e6d1d55c44e429b5d78ac3f71a Mon Sep 17 00:00:00 2001 From: Rey Snyder Date: Thu, 17 Oct 2024 17:54:44 -0400 Subject: [PATCH 14/89] changed gemfiles --- Gemfile.lock | 9 +++++-- config/#database.yml# | 55 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 config/#database.yml# diff --git a/Gemfile.lock b/Gemfile.lock index c3e104938..c354ca560 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -132,9 +132,11 @@ GEM digest net-protocol timeout - nio4r (2.5.8) + nio4r (2.5.9) nokogiri (1.13.8-arm64-darwin) racc (~> 1.4) + nokogiri (1.13.8-x86_64-darwin) + racc (~> 1.4) nokogiri (1.13.8-x86_64-linux) racc (~> 1.4) public_suffix (5.0.0) @@ -194,6 +196,8 @@ GEM strscan (3.0.4) tailwindcss-rails (2.0.12-arm64-darwin) railties (>= 6.0.0) + tailwindcss-rails (2.0.12-x86_64-darwin) + railties (>= 6.0.0) tailwindcss-rails (2.0.12-x86_64-linux) railties (>= 6.0.0) thor (1.2.1) @@ -223,6 +227,7 @@ GEM PLATFORMS arm64-darwin-20 + x86_64-darwin-23 x86_64-linux DEPENDENCIES @@ -246,7 +251,7 @@ DEPENDENCIES webdrivers RUBY VERSION - ruby 3.1.2p20 + ruby 3.1.2p20 BUNDLED WITH 2.3.18 diff --git a/config/#database.yml# b/config/#database.yml# new file mode 100644 index 000000000..a3106de18 --- /dev/null +++ b/config/#database.yml# @@ -0,0 +1,55 @@ +# MySQL. Versions 5.5.8 and up are supported. +# +# Install the MySQL driver +# gem install mysql2 +# +# Ensure the MySQL gem is defined in your Gemfile +# gem "mysql2" +# +# And be sure to use new-style password hashing: +# https://dev.mysql.com/doc/refman/5.7/en/password-hashing.html +# +default: &default + adapter: mysql2 + encoding: utf8mb4 + pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> + username: <%= ENV['root'] || 'root' %> + password: <%= ENV['blueelephant123'] || '' %> + socket: <%= ENV['MYSQL_SOCKET'] || '/tmp/mysql.sock' %> + +development: + <<: *default + database: valetbike_development + +# Warning: The database defined as "test" will be erased and +# re-generated from your development database when you run "rake". +# Do not set this db to the same as development or production. +test: + <<: *default + database: valetbike_test + +# As with config/credentials.yml, you never want to store sensitive information, +# like your database password, in your source code. If your source code is +# ever seen by anyone, they now have access to your database. +# +# Instead, provide the password or a full connection URL as an environment +# variable when you boot the app. For example: +# +# DATABASE_URL="mysql2://myuser:mypass@localhost/somedatabase" +# +# If the connection URL is provided in the special DATABASE_URL environment +# variable, Rails will automatically merge its configuration values on top of +# the values provided in this file. Alternatively, you can specify a connection +# URL environment variable explicitly: +# +# production: +# url: <%= ENV["MY_APP_DATABASE_URL"] %> +# +# Read https://guides.rubyonrails.org/configuring.html#configuring-a-database +# for a full overview on how database connection configuration can be specified. +# +production: + <<: *default + database: valetbike_production + username: valetbike + password: <%= ENV["VALETBIKE"] %> From 015783aca20976b0b5012552e46acad3ffc3a37f Mon Sep 17 00:00:00 2001 From: Katherine Vogt Date: Thu, 31 Oct 2024 16:56:49 -0400 Subject: [PATCH 15/89] added name to README --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 85f6c86ae..8ac3209fb 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,8 @@ Smith College CSC223: Software Engineering\ Starter App for ValetBike project +#katie was here :3 + ## Environment Configuration As you configure your environment you should **keep a log** where you **write down all the steps you take** including **each command you type**. You will inevitably run into errors setting up your development environment and maintaining a meticulous log will allow others to help you troubleshoot. Ignore this recommendation at your own peril, but don't say you haven't been warned :] From 7cdc8f3b03aa565d8ffb416063a6e7b78d21141e Mon Sep 17 00:00:00 2001 From: Lynn Do Date: Thu, 31 Oct 2024 17:36:54 -0400 Subject: [PATCH 16/89] Add signup page and user database --- .vscode/settings.json | 5 +++ Gemfile | 5 ++- Gemfile.lock | 32 ++++++++++++- app/assets/config/manifest.js | 3 +- .../{application.css => application.scss} | 2 + app/assets/stylesheets/form.css | 30 +++++++++++++ app/assets/stylesheets/global.css | 24 ++++++++++ app/assets/stylesheets/variables.css | 4 ++ app/controllers/user_controller.rb | 45 +++++++++++++++++++ app/helpers/user_helper.rb | 2 + app/javascript/application.js | 3 ++ app/models/user.rb | 8 ++++ app/views/user/new.html.erb | 36 +++++++++++++++ config/environments/development.rb | 2 + config/importmap.rb | 1 + config/initializers/assets.rb | 2 +- config/routes.rb | 3 ++ db/migrate/20241031151655_create_users.rb | 11 +++++ ...1031210449_add_password_digest_to_users.rb | 6 +++ db/schema.rb | 12 ++++- test/controllers/user_controller_test.rb | 7 +++ test/fixtures/users.yml | 11 +++++ test/models/user_test.rb | 7 +++ 23 files changed, 255 insertions(+), 6 deletions(-) create mode 100644 .vscode/settings.json rename app/assets/stylesheets/{application.css => application.scss} (96%) create mode 100644 app/assets/stylesheets/form.css create mode 100644 app/controllers/user_controller.rb create mode 100644 app/helpers/user_helper.rb create mode 100644 app/models/user.rb create mode 100644 app/views/user/new.html.erb create mode 100644 db/migrate/20241031151655_create_users.rb create mode 100644 db/migrate/20241031210449_add_password_digest_to_users.rb create mode 100644 test/controllers/user_controller_test.rb create mode 100644 test/fixtures/users.yml create mode 100644 test/models/user_test.rb diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 000000000..82cf78194 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "files.exclude": { + "**/.git": false + } +} \ No newline at end of file diff --git a/Gemfile b/Gemfile index bfeef6853..ed3a92b2b 100644 --- a/Gemfile +++ b/Gemfile @@ -45,8 +45,11 @@ gem "tzinfo-data", platforms: %i[ mingw mswin x64_mingw jruby ] # Reduces boot times through caching; required in config/boot.rb gem "bootsnap", require: false +# Boostrap +gem 'bootstrap', '~> 4.1.1' + # Use Sass to process CSS -# gem "sassc-rails" +gem "sass-rails", '~> 5.0' # Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images] # gem "image_processing", "~> 1.2" diff --git a/Gemfile.lock b/Gemfile.lock index 65032bd89..abcf27832 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -68,10 +68,17 @@ GEM tzinfo (~> 2.0) addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) + autoprefixer-rails (10.4.19.0) + execjs (~> 2) + base64 (0.2.0) bcrypt (3.1.20) bindex (0.8.1) bootsnap (1.18.4) msgpack (~> 1.2) + bootstrap (4.1.3) + autoprefixer-rails (>= 6.0.3) + popper_js (>= 1.12.9, < 2) + sass (>= 3.5.2) builder (3.3.0) capybara (3.40.0) addressable @@ -93,6 +100,8 @@ GEM dotenv (= 3.1.2) railties (>= 6.1) erubi (1.13.0) + execjs (2.10.0) + ffi (1.17.0) globalid (1.2.1) activesupport (>= 6.1) i18n (1.14.5) @@ -149,6 +158,7 @@ GEM racc (~> 1.4) nokogiri (1.16.7-x86_64-linux) racc (~> 1.4) + popper_js (1.16.1) psych (5.1.2) stringio public_suffix (6.0.1) @@ -187,6 +197,9 @@ GEM thor (~> 1.0) zeitwerk (~> 2.5) rake (13.2.1) + rb-fsevent (0.11.2) + rb-inotify (0.11.1) + ffi (~> 1.0) rdoc (6.7.0) psych (>= 4.0.0) redis (4.8.1) @@ -195,13 +208,25 @@ GEM io-console (~> 0.5) rexml (3.3.7) rubyzip (2.3.2) + sass (3.7.4) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + sass-rails (5.1.0) + railties (>= 5.2.0) + sass (~> 3.1) + sprockets (>= 2.8, < 4.0) + sprockets-rails (>= 2.0, < 4.0) + tilt (>= 1.1, < 3) selenium-webdriver (4.10.0) rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) websocket (~> 1.0) - sprockets (4.2.1) + sprockets (3.7.5) + base64 concurrent-ruby (~> 1.0) - rack (>= 2.2.4, < 4) + rack (> 1, < 3) sprockets-rails (3.5.2) actionpack (>= 6.1) activesupport (>= 6.1) @@ -222,6 +247,7 @@ GEM tailwindcss-rails (2.7.3-x86_64-linux) railties (>= 7.0.0) thor (1.3.2) + tilt (2.4.0) timeout (0.4.1) turbo-rails (2.0.6) actionpack (>= 6.0.0) @@ -257,6 +283,7 @@ PLATFORMS DEPENDENCIES bcrypt (~> 3.1.7) bootsnap + bootstrap (~> 4.1.1) capybara debug dotenv-rails @@ -268,6 +295,7 @@ DEPENDENCIES puma (~> 5.0) rails (~> 7.0.3, >= 7.0.3.1) redis (~> 4.0) + sass-rails (~> 5.0) selenium-webdriver sprockets-rails stimulus-rails diff --git a/app/assets/config/manifest.js b/app/assets/config/manifest.js index b06fc42ac..a2d906a5b 100644 --- a/app/assets/config/manifest.js +++ b/app/assets/config/manifest.js @@ -1,5 +1,6 @@ //= link_tree ../images -//= link_directory ../stylesheets .css +//= link application.css +//= link_directory ../stylesheets .scss //= link_tree ../../javascript .js //= link_tree ../../../vendor/javascript .js //= link_tree ../builds diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.scss similarity index 96% rename from app/assets/stylesheets/application.css rename to app/assets/stylesheets/application.scss index 288b9ab71..067407347 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.scss @@ -13,3 +13,5 @@ *= require_tree . *= require_self */ + + @import 'bootstrap'; \ No newline at end of file diff --git a/app/assets/stylesheets/form.css b/app/assets/stylesheets/form.css new file mode 100644 index 000000000..d38911423 --- /dev/null +++ b/app/assets/stylesheets/form.css @@ -0,0 +1,30 @@ +.form-container { + background-color: var(--white-color); + margin-top: 5rem; + padding: 2rem; + border-radius: var(--widget-radius); +} + +.form-wrapper { + margin-top: 2rem; +} + +.form-title { + font-family: var(--title-font); + font-weight: 500; + font-size: 1.5em; + text-align: center; +} + +.form-field label { + font-size: 0.8em; +} + +.form-field .form-control { + border-radius: var(--btn-radius); + border: var(--btn-thickness) solid var(--gray-color); +} + +.error-message { + font-size: 0.8em; +} \ No newline at end of file diff --git a/app/assets/stylesheets/global.css b/app/assets/stylesheets/global.css index ff48f1abe..84ffbb927 100644 --- a/app/assets/stylesheets/global.css +++ b/app/assets/stylesheets/global.css @@ -33,3 +33,27 @@ body { color: var(--black-color); background: var(--white-color); } + +.bg-fill { + background-color: var(--theme-color); + position: absolute; + width: 100%; + height: 100%; +} + +.custom-btn { + padding: 0.5rem 1.5rem; + border-radius: var(--btn-radius); +} + +.btn-fill { + background: var(--theme-color); + color: var(--white-color); + border: var(--btn-thickness) solid var(--theme-color); + transition: 0.1s ease; +} + +.btn-fill:hover { + background: var(--white-color); + color: var(--black-color); +} diff --git a/app/assets/stylesheets/variables.css b/app/assets/stylesheets/variables.css index 915c14dd3..59f6fac82 100644 --- a/app/assets/stylesheets/variables.css +++ b/app/assets/stylesheets/variables.css @@ -10,4 +10,8 @@ --medium-white-color: #FDFCFD; --white-color: #FFFFFF; + --theme-color: #905ADB; + --btn-radius: 0.3rem; + --widget-radius: 0.5rem; + --btn-thickness: 2px; } \ No newline at end of file diff --git a/app/controllers/user_controller.rb b/app/controllers/user_controller.rb new file mode 100644 index 000000000..f65aa3d3e --- /dev/null +++ b/app/controllers/user_controller.rb @@ -0,0 +1,45 @@ +class UserController < ApplicationController + def new + """ + Display the sign up/log in form + """ + @user = User.new + end + + def create + """ + Process log in information + """ + @user = User.new(user_params) + if @user.save + cookies[:username] = user_params[:email] + session[:user_id] = @user[:id] + redirect_to root_path + else + render :new, status: 422 + end + end + + private + + def user_params + """ + Return params that includes only the given fields + and sets the permitted attribute for the object to true. + (useful for limiting which attributes should be allowed for updating) + """ + params.require(:user).permit(:email, :password, :password_confirmation) + end + + def fetch_user_info + @username = cookies[:username] + @user_id = session[:user_id] + end + + def logged_in? + """ + Check user's log in status + """ + session[:user_id].present? + end +end diff --git a/app/helpers/user_helper.rb b/app/helpers/user_helper.rb new file mode 100644 index 000000000..0147c3fe6 --- /dev/null +++ b/app/helpers/user_helper.rb @@ -0,0 +1,2 @@ +module UserHelper +end diff --git a/app/javascript/application.js b/app/javascript/application.js index 0d7b49404..5f9b20d90 100644 --- a/app/javascript/application.js +++ b/app/javascript/application.js @@ -1,3 +1,6 @@ +//= require bootstrap-sprockets // Configure your import map in config/importmap.rb. Read more: https://github.com/rails/importmap-rails import "@hotwired/turbo-rails" import "controllers" + +import "bootstrap" diff --git a/app/models/user.rb b/app/models/user.rb new file mode 100644 index 000000000..fb1c351b2 --- /dev/null +++ b/app/models/user.rb @@ -0,0 +1,8 @@ +class User < ApplicationRecord + has_secure_password + + EMAIL_REGEX = /\A[\w\-\.]+@([\w\-]+\.)+[\w\-]{2,4}\z/ + validates :email, presence: true, + uniqueness: {case_sensitive: false}, + format: {with: EMAIL_REGEX} +end diff --git a/app/views/user/new.html.erb b/app/views/user/new.html.erb new file mode 100644 index 000000000..db130464f --- /dev/null +++ b/app/views/user/new.html.erb @@ -0,0 +1,36 @@ +
+
+
+
+
+ Sign up an account +
+
+ <% if @user.errors.any? %> +
+ <% @user.errors.full_messages.each do |message| %> +

<%= message %>

+ <% end %> +

+ <% end %> + + <%= form_with model: @user, url: sign_up_path do |f| %> +
+ <%= f.label :email, "Email" %> + <%= f.text_field :email, placeholder: "Enter your email", class: "form-control" %> +
+
+ <%= f.label :password, "Password" %> + <%= f.password_field :password, placeholder: "Enter your password", class: "form-control" %> +
+
+ <%= f.label :password_confirmation, "Confirm your password" %> + <%= f.password_field :password_confirmation, placeholder: "Enter your password again", class: "form-control" %> +
+ <%= f.submit "Create an account", class: "mt-3 custom-btn btn-fill" %> + <% end %> +
+
+
+
+
\ No newline at end of file diff --git a/config/environments/development.rb b/config/environments/development.rb index 8500f459a..720ad1a86 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -67,4 +67,6 @@ # Uncomment if you wish to allow Action Cable access from any origin. # config.action_cable.disable_request_forgery_protection = true + + config.assets.compile = true end diff --git a/config/importmap.rb b/config/importmap.rb index 8dce42d40..60a344996 100644 --- a/config/importmap.rb +++ b/config/importmap.rb @@ -4,4 +4,5 @@ pin "@hotwired/turbo-rails", to: "turbo.min.js", preload: true pin "@hotwired/stimulus", to: "stimulus.min.js", preload: true pin "@hotwired/stimulus-loading", to: "stimulus-loading.js", preload: true +pin "bootstrap", to: 'bootstrap.min.js', preload: true pin_all_from "app/javascript/controllers", under: "controllers" diff --git a/config/initializers/assets.rb b/config/initializers/assets.rb index 2eeef966f..0ff43298f 100644 --- a/config/initializers/assets.rb +++ b/config/initializers/assets.rb @@ -9,4 +9,4 @@ # Precompile additional assets. # application.js, application.css, and all non-JS/CSS in the app/assets # folder are already added. -# Rails.application.config.assets.precompile += %w( admin.js admin.css ) +Rails.application.config.assets.precompile += %w( bootstrap.min.js tailwind.css form.css controllers/hello_controller.js controllers/index.js ) diff --git a/config/routes.rb b/config/routes.rb index a1acb561f..5ccf2361e 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,5 +1,8 @@ Rails.application.routes.draw do get 'bikes/index' get 'bikes/_row' + + get "sign-up", to: "user#new" + post "sign-up", to: "user#create" root to: "stations#index" end \ No newline at end of file diff --git a/db/migrate/20241031151655_create_users.rb b/db/migrate/20241031151655_create_users.rb new file mode 100644 index 000000000..e9447a538 --- /dev/null +++ b/db/migrate/20241031151655_create_users.rb @@ -0,0 +1,11 @@ +class CreateUsers < ActiveRecord::Migration[7.0] + def change + create_table :users do |t| + t.string :name + t.string :email, null: false + t.string :password_digest + + t.timestamps + end + end +end diff --git a/db/migrate/20241031210449_add_password_digest_to_users.rb b/db/migrate/20241031210449_add_password_digest_to_users.rb new file mode 100644 index 000000000..5b478015b --- /dev/null +++ b/db/migrate/20241031210449_add_password_digest_to_users.rb @@ -0,0 +1,6 @@ +class AddPasswordDigestToUsers < ActiveRecord::Migration[7.0] + def change + add_column :users, :password_digest, :string + add_column :users, :string, :string + end +end diff --git a/db/schema.rb b/db/schema.rb index b98268f0e..329a79992 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.0].define(version: 2022_08_31_090719) do +ActiveRecord::Schema[7.0].define(version: 2024_10_31_210449) do create_table "bikes", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t| t.integer "identifier" t.integer "current_station_id" @@ -26,4 +26,14 @@ t.datetime "updated_at", null: false end + create_table "users", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t| + t.string "name" + t.string "email", null: false + t.string "password" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.string "password_digest" + t.string "string" + end + end diff --git a/test/controllers/user_controller_test.rb b/test/controllers/user_controller_test.rb new file mode 100644 index 000000000..f067a70e1 --- /dev/null +++ b/test/controllers/user_controller_test.rb @@ -0,0 +1,7 @@ +require "test_helper" + +class UserControllerTest < ActionDispatch::IntegrationTest + # test "the truth" do + # assert true + # end +end diff --git a/test/fixtures/users.yml b/test/fixtures/users.yml new file mode 100644 index 000000000..cc9a815cd --- /dev/null +++ b/test/fixtures/users.yml @@ -0,0 +1,11 @@ +# Read about fixtures at https://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html + +one: + name: MyString + email: MyString + password: MyString + +two: + name: MyString + email: MyString + password: MyString diff --git a/test/models/user_test.rb b/test/models/user_test.rb new file mode 100644 index 000000000..5c07f4900 --- /dev/null +++ b/test/models/user_test.rb @@ -0,0 +1,7 @@ +require "test_helper" + +class UserTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end From 08d929612f6ed42648a4a33b665f21d92f89106e Mon Sep 17 00:00:00 2001 From: Rey Snyder Date: Sat, 2 Nov 2024 01:40:30 -0400 Subject: [PATCH 17/89] Set up site skeleton, adde pages for account, pricing, contact, home, and linked them all together. --- app/views/main/account.html.erb | 0 app/views/main/contact.html.erb | 0 app/views/main/pricing.html.erb | 0 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 app/views/main/account.html.erb create mode 100644 app/views/main/contact.html.erb create mode 100644 app/views/main/pricing.html.erb diff --git a/app/views/main/account.html.erb b/app/views/main/account.html.erb new file mode 100644 index 000000000..e69de29bb diff --git a/app/views/main/contact.html.erb b/app/views/main/contact.html.erb new file mode 100644 index 000000000..e69de29bb diff --git a/app/views/main/pricing.html.erb b/app/views/main/pricing.html.erb new file mode 100644 index 000000000..e69de29bb From c6909d3b09c3ca6624116d65abb066ca3dfef596 Mon Sep 17 00:00:00 2001 From: Rey Snyder Date: Sat, 2 Nov 2024 01:52:37 -0400 Subject: [PATCH 18/89] forgot to add these files to the last commit --- app/controllers/main_controller.rb | 13 +++++++++++++ app/helpers/main_helper.rb | 2 ++ app/views/main/account.html.erb | 16 ++++++++++++++++ app/views/main/contact.html.erb | 16 ++++++++++++++++ app/views/main/index.html.erb | 15 +++++++++++++++ app/views/main/pricing.html.erb | 15 +++++++++++++++ app/views/stations/index.html.erb | 15 +++++++++++++-- config/routes.rb | 9 ++++++++- test/controllers/main_controller_test.rb | 8 ++++++++ 9 files changed, 106 insertions(+), 3 deletions(-) create mode 100644 app/controllers/main_controller.rb create mode 100644 app/helpers/main_helper.rb create mode 100644 app/views/main/index.html.erb create mode 100644 test/controllers/main_controller_test.rb diff --git a/app/controllers/main_controller.rb b/app/controllers/main_controller.rb new file mode 100644 index 000000000..3371c37a4 --- /dev/null +++ b/app/controllers/main_controller.rb @@ -0,0 +1,13 @@ +class MainController < ApplicationController + def index + end + + def pricing + end + + def account + end + + def contact + end +end diff --git a/app/helpers/main_helper.rb b/app/helpers/main_helper.rb new file mode 100644 index 000000000..826effed9 --- /dev/null +++ b/app/helpers/main_helper.rb @@ -0,0 +1,2 @@ +module MainHelper +end diff --git a/app/views/main/account.html.erb b/app/views/main/account.html.erb index e69de29bb..a03f6c109 100644 --- a/app/views/main/account.html.erb +++ b/app/views/main/account.html.erb @@ -0,0 +1,16 @@ + +
+
+
+ Account Page +
+ +
+ <%= link_to('Home Page', {controller: 'main' , action: 'index'}) %> | + <%= link_to('Bikes/Stations', {controller: 'stations' , action: 'index'}) %> | + <%= link_to('Pricing', {controller: 'main' , action: 'pricing'}) %> | + <%= link_to('Contact', {controller: 'main' , action: 'contact'}) %> | + <%= link_to('Account', {controller: 'main' , action: 'account'}) %> +
+
+
diff --git a/app/views/main/contact.html.erb b/app/views/main/contact.html.erb index e69de29bb..3fba1456d 100644 --- a/app/views/main/contact.html.erb +++ b/app/views/main/contact.html.erb @@ -0,0 +1,16 @@ +
+
+
+ Contact Page +
+ +
+ <%= link_to('Home Page', {controller: 'main' , action: 'index'}) %> | + <%= link_to('Bikes/Stations', {controller: 'stations' , action: 'index'}) %> | + <%= link_to('Pricing', {controller: 'main' , action: 'pricing'}) %> | + <%= link_to('Contact', {controller: 'main' , action: 'contact'}) %> | + <%= link_to('Account', {controller: 'main' , action: 'account'}) %> +
+
+
+ \ No newline at end of file diff --git a/app/views/main/index.html.erb b/app/views/main/index.html.erb new file mode 100644 index 000000000..bdc96148a --- /dev/null +++ b/app/views/main/index.html.erb @@ -0,0 +1,15 @@ +
+
+
+ ValetBike Home Page +
+ +
+ <%= link_to('Home Page', {controller: 'main' , action: 'index'}) %> | + <%= link_to('Bikes/Stations', {controller: 'stations' , action: 'index'}) %> | + <%= link_to('Pricing', {controller: 'main' , action: 'pricing'}) %> | + <%= link_to('Contact', {controller: 'main' , action: 'contact'}) %> | + <%= link_to('Account', {controller: 'main' , action: 'account'}) %> +
+
+
diff --git a/app/views/main/pricing.html.erb b/app/views/main/pricing.html.erb index e69de29bb..029a1c7a6 100644 --- a/app/views/main/pricing.html.erb +++ b/app/views/main/pricing.html.erb @@ -0,0 +1,15 @@ +
+
+
+ Pricing Page +
+ +
+ <%= link_to('Home Page', {controller: 'main' , action: 'index'}) %> | + <%= link_to('Bikes/Stations', {controller: 'stations' , action: 'index'}) %> | + <%= link_to('Pricing', {controller: 'main' , action: 'pricing'}) %> | + <%= link_to('Contact', {controller: 'main' , action: 'contact'}) %> | + <%= link_to('Account', {controller: 'main' , action: 'account'}) %> +
+
+
diff --git a/app/views/stations/index.html.erb b/app/views/stations/index.html.erb index bb94b9f2c..325e5e980 100644 --- a/app/views/stations/index.html.erb +++ b/app/views/stations/index.html.erb @@ -1,8 +1,19 @@ + +
- Welcome to ValetBike <3 -
+ Bikes and Stations +
+ +
+ <%= link_to('Home Page', {controller: 'main' , action: 'index'}) %> | + <%= link_to('Bikes/Stations', {controller: 'stations' , action: 'index'}) %> | + <%= link_to('Pricing', {controller: 'main' , action: 'pricing'}) %> | + <%= link_to('Contact', {controller: 'main' , action: 'contact'}) %> | + <%= link_to('Account', {controller: 'main' , action: 'account'}) %> +
+
<% if @stations.present? %> <%= render(partial: "stations/row", collection: @stations, as: :station) %> diff --git a/config/routes.rb b/config/routes.rb index a1acb561f..2592e8266 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,5 +1,12 @@ Rails.application.routes.draw do + get 'stations/index' get 'bikes/index' get 'bikes/_row' - root to: "stations#index" + get 'main/pricing' + get 'main/account' + get 'main/contact' + + + + root to: "main#index" end \ No newline at end of file diff --git a/test/controllers/main_controller_test.rb b/test/controllers/main_controller_test.rb new file mode 100644 index 000000000..759df146c --- /dev/null +++ b/test/controllers/main_controller_test.rb @@ -0,0 +1,8 @@ +require "test_helper" + +class MainControllerTest < ActionDispatch::IntegrationTest + test "should get index" do + get main_index_url + assert_response :success + end +end From 09d4854c0870b5c80d5a8142451655798d670ef1 Mon Sep 17 00:00:00 2001 From: Lynn Do Date: Sat, 2 Nov 2024 14:30:10 -0400 Subject: [PATCH 19/89] Add reset password and log in --- app/assets/images/favicon.ico | Bin 0 -> 4286 bytes app/assets/images/logo.png | Bin 0 -> 26202 bytes .../{application.scss => application.css} | 4 +- app/assets/stylesheets/form.css | 24 +++++++++ app/controllers/access_controller.rb | 29 +++++++++++ app/controllers/password_resets_controller.rb | 47 ++++++++++++++++++ app/controllers/user_controller.rb | 30 +++-------- app/helpers/access_helper.rb | 2 + app/helpers/password_resets_helper.rb | 2 + app/mailers/password_mailer.rb | 15 ++++++ app/views/access/login.html.erb | 37 ++++++++++++++ app/views/layouts/application.html.erb | 2 +- app/views/password_mailer/reset.html.erb | 11 ++++ app/views/password_mailer/reset.text.erb | 5 ++ app/views/password_resets/edit.html.erb | 40 +++++++++++++++ app/views/password_resets/new.html.erb | 33 ++++++++++++ app/views/user/new.html.erb | 14 ++++-- config/environments/development.rb | 4 +- config/initializers/assets.rb | 2 +- config/routes.rb | 9 ++++ ...0241101172048_add_phone_number_to_users.rb | 5 ++ db/schema.rb | 3 +- public/favicon.ico | Bin 0 -> 4286 bytes test/controllers/access_controller_test.rb | 8 +++ .../password_resets_controller_test.rb | 7 +++ test/mailers/password_mailer_test.rb | 12 +++++ .../previews/password_mailer_preview.rb | 9 ++++ 27 files changed, 319 insertions(+), 35 deletions(-) create mode 100644 app/assets/images/favicon.ico create mode 100644 app/assets/images/logo.png rename app/assets/stylesheets/{application.scss => application.css} (96%) create mode 100644 app/controllers/access_controller.rb create mode 100644 app/controllers/password_resets_controller.rb create mode 100644 app/helpers/access_helper.rb create mode 100644 app/helpers/password_resets_helper.rb create mode 100644 app/mailers/password_mailer.rb create mode 100644 app/views/access/login.html.erb create mode 100644 app/views/password_mailer/reset.html.erb create mode 100644 app/views/password_mailer/reset.text.erb create mode 100644 app/views/password_resets/edit.html.erb create mode 100644 app/views/password_resets/new.html.erb create mode 100644 db/migrate/20241101172048_add_phone_number_to_users.rb create mode 100644 test/controllers/access_controller_test.rb create mode 100644 test/controllers/password_resets_controller_test.rb create mode 100644 test/mailers/password_mailer_test.rb create mode 100644 test/mailers/previews/password_mailer_preview.rb diff --git a/app/assets/images/favicon.ico b/app/assets/images/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..d68c084e2e49d404eb7abab25926f8d39af8237c GIT binary patch literal 4286 zcmeH{e@vBC7{?EgT{qWmR&%r{FsfNwt@VeiwvyUv+0XTl8)TT}X5?lr(^aIR5lO9G z%wN@ zp65Bw^PFQ$8o!(zqkpsId}AgVW2OKilLwM}A9K0arAP_J{>LKl|A|1Npu#{pOoSY` z6efV=|JqTv-rp-7(j}eJJxq^ekO4QrTKE=@LJRDJVvvqe{c!XC+Tuih?8`&>u_QFp zuR|`~vLRcZA8KJdEP_t>4QgR4d<2K!FZdqrf)Raia(~TtiGo!FjkDjdtwojg@DrPD z^PCN~e&%ZyKRQ?=Te2x#ipfIghZ?vSq9D2aycp&~8?-_mgnV%0)Lg73IcuHmShU0T zlAD{E|D`9a%TcEENO@ACX$oovabY)pf8I0#q5nRGwE+;P|g%H?1l)%Rt)8y;R` zyPn%=`(Cc~?8^2a$WE@jc(SKAXy zzX+YZ_oc7wuVwo~K55+a*ap?Y5%yd75WJf7^<6~!HK^|X1le?G{eVwBt!gqIU0af~ z*4v&Jsspxatm4u7_}gJ0sEO91O_qBhowD%>j01O;2>l(PSib`Ed|ssOgZ;1!l*7ZI z*jK9Vl;6H`a!;JQm&a{G;TqdA_bsb9xH{;SeSE@a)!|Q|b7X_FueJ!}+nj)0HK=$z z@5_{*7LXrx^$)EI)n40z_Z2JK`Ru2mob;4d+s4_i%l;3{mx6RIhM;}rR<*Gm&IRR1 z^>PyQhPbtN&`*H$ajr`5tja_3k@a4!hx1=+k1gCTzjQX)o(y_#et{X_>OeMSTX*wn zkUhNv&w%EfeYLlM&SDe9pl!i6+y2xC-q|}Af1EnIe;*Z#hQhU)(|wn1?Y|uwL1$YH zd5{AuKx^lM*69w4VBd|WBL4=g@}Re_p>Ul&zT|VSCeTT_eurL|0ikUggYNB{ zp!L&1GQ~X?4uIatt01&@=s@$JxKD-KATPkp^v{FPHjUw0Q0>V_-IvW!1wVt%u@urF zwD)Wbq!W~Hz2!Qm{Al;vI$Gs&0-OzV!*ob5DE?Uxyc3fdPXy&**uF8rSOos-2-p$6 z?qvhfcy@nANwho7M4C*rI&QKd(+J~{^{6pf8OEHGTVhJC$V-c7nvAAQ6FHq}_6%e< W$ND2;Z?r!Wk6IhghG`?1vVQ|yO@Vp< literal 0 HcmV?d00001 diff --git a/app/assets/images/logo.png b/app/assets/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..db686536331d659482530a7d06f052ca6eef25f2 GIT binary patch literal 26202 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 literal 0 HcmV?d00001 diff --git a/app/assets/stylesheets/application.scss b/app/assets/stylesheets/application.css similarity index 96% rename from app/assets/stylesheets/application.scss rename to app/assets/stylesheets/application.css index 067407347..21c9ac5bb 100644 --- a/app/assets/stylesheets/application.scss +++ b/app/assets/stylesheets/application.css @@ -12,6 +12,4 @@ * *= require_tree . *= require_self - */ - - @import 'bootstrap'; \ No newline at end of file + */ \ No newline at end of file diff --git a/app/assets/stylesheets/form.css b/app/assets/stylesheets/form.css index d38911423..4e9ca69a9 100644 --- a/app/assets/stylesheets/form.css +++ b/app/assets/stylesheets/form.css @@ -9,6 +9,11 @@ margin-top: 2rem; } +.form-wrapper input[type=submit] { + display: block; + margin: auto; +} + .form-title { font-family: var(--title-font); font-weight: 500; @@ -27,4 +32,23 @@ .error-message { font-size: 0.8em; + margin-bottom: 0; +} + +.error-message li { + list-style-type: circle; +} + +.form-logo img { + width: 180px; + margin: 0 auto; +} + +.form-links { + margin-top: 1em; + text-align: center; +} + +.form-links p a { + color: var(--theme-color); } \ No newline at end of file diff --git a/app/controllers/access_controller.rb b/app/controllers/access_controller.rb new file mode 100644 index 000000000..8cc169f60 --- /dev/null +++ b/app/controllers/access_controller.rb @@ -0,0 +1,29 @@ +class AccessController < ApplicationController + def create + # Process log in information + @user = User.find_by(email: params[:email]) + if !!@user && @user&.authenticate(params[:password]) + session[:user_id] = @user[:id] + redirect_to root_path + else + flash[:notice] = "Something went wrong. Please check your email and password." + redirect_to log_in_path + end + end + + private + def fetch_user_info + @user_id = session[:user_id] + + if @user_id + @user = User.find_by(id: @user_id) + else + @user = nil + end + end + + def logged_in? + # Check user's log in status + session[:user_id].present? + end +end diff --git a/app/controllers/password_resets_controller.rb b/app/controllers/password_resets_controller.rb new file mode 100644 index 000000000..dfbb8ed5b --- /dev/null +++ b/app/controllers/password_resets_controller.rb @@ -0,0 +1,47 @@ +class PasswordResetsController < ApplicationController + def create + # Process email and send reset link + @user = User.find_by(email: params[:email]) + + if !!@user + # Send email in the background + PasswordMailer.with(user: @user).reset.deliver_later + flash[:notice] = "An email will be sent with a link to reset your password." + else + flash[:notice] = "An error occured. Please try again." + end + + redirect_to password_reset_url + end + + def edit + # Find the user with the given token + @user = User.find_signed(params[:token], purpose: "password_reset") + puts @user.errors + rescue ActiveSupport::MessageVerifier::InvalidSignature + redirect_to password_reset_url, notice: "Your token has expired. Please try again" + end + + def update + # Actually updates the password + @user = User.find_signed(params[:token], purpose: "password_reset") + + if @user.update(password_params) + flash[:notice] = "Your password was reset successfully. Please sign in." + redirect_to log_in_path + else + render :edit, status: 422 # have to set status. otherwise, the errors won't render + end + + rescue ActiveSupport::MessageVerifier::InvalidSignature + redirect_to password_reset_url, notice: "Your token has expired. Please try again" + end + + private + + def password_params + params.require(:user).permit(:password, :password_confirmation) + end + + +end diff --git a/app/controllers/user_controller.rb b/app/controllers/user_controller.rb index f65aa3d3e..3ce8913be 100644 --- a/app/controllers/user_controller.rb +++ b/app/controllers/user_controller.rb @@ -1,15 +1,11 @@ class UserController < ApplicationController def new - """ - Display the sign up/log in form - """ + # Display the sign up form @user = User.new end def create - """ - Process log in information - """ + # Process sign up information @user = User.new(user_params) if @user.save cookies[:username] = user_params[:email] @@ -18,28 +14,14 @@ def create else render :new, status: 422 end - end + end private def user_params - """ - Return params that includes only the given fields - and sets the permitted attribute for the object to true. - (useful for limiting which attributes should be allowed for updating) - """ + # Return params that includes only the given fields + # and sets the permitted attribute for the object to true. + # (useful for limiting which attributes should be allowed for updating) params.require(:user).permit(:email, :password, :password_confirmation) end - - def fetch_user_info - @username = cookies[:username] - @user_id = session[:user_id] - end - - def logged_in? - """ - Check user's log in status - """ - session[:user_id].present? - end end diff --git a/app/helpers/access_helper.rb b/app/helpers/access_helper.rb new file mode 100644 index 000000000..342c6ff9f --- /dev/null +++ b/app/helpers/access_helper.rb @@ -0,0 +1,2 @@ +module AccessHelper +end diff --git a/app/helpers/password_resets_helper.rb b/app/helpers/password_resets_helper.rb new file mode 100644 index 000000000..0c9d96ecf --- /dev/null +++ b/app/helpers/password_resets_helper.rb @@ -0,0 +1,2 @@ +module PasswordResetsHelper +end diff --git a/app/mailers/password_mailer.rb b/app/mailers/password_mailer.rb new file mode 100644 index 000000000..aafdc4eb2 --- /dev/null +++ b/app/mailers/password_mailer.rb @@ -0,0 +1,15 @@ +class PasswordMailer < ApplicationMailer + + # Subject can be set in your I18n file at config/locales/en.yml + # with the following lookup: + # + # en.password_mailer.reset.subject + # + def reset + @user = params[:user] + + @token = @user.signed_id(expires_in: 15.minutes, purpose: 'password_reset') + + mail to: @user.email + end +end diff --git a/app/views/access/login.html.erb b/app/views/access/login.html.erb new file mode 100644 index 000000000..09b53c00c --- /dev/null +++ b/app/views/access/login.html.erb @@ -0,0 +1,37 @@ +
+
+
+
+ +
+ Log into your account +
+
+ <% if flash[:notice].present? %> +
+

<%= flash[:notice] %>

+
+ <% end %> + + <%= form_with model: @user, url: log_in_path do |f| %> +
+ <%= f.label :email, "Email" %> + <%= f.text_field :email, placeholder: "Enter your email", class: "form-control" %> +
+
+ <%= f.label :password, "Password" %> + <%= f.password_field :password, placeholder: "Enter your password", class: "form-control" %> +
+ <%= f.submit "Log in", class: "mt-3 custom-btn btn-fill" %> + <% end %> +
+ +
+
+
+
\ No newline at end of file diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 7ace1393e..48438f76c 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -9,7 +9,7 @@ <%= stylesheet_link_tag "application", "data-turbo-track": "reload" %> <%= javascript_importmap_tags %> - + <%= favicon_link_tag asset_path('favicon.ico') %> ValetBike diff --git a/app/views/password_mailer/reset.html.erb b/app/views/password_mailer/reset.html.erb new file mode 100644 index 000000000..52e1c618e --- /dev/null +++ b/app/views/password_mailer/reset.html.erb @@ -0,0 +1,11 @@ +
+ <%= image_tag('logo.png', alt: 'valetbike-logo') %> + +
+

Hi <%= @user.email %>,

+ +

If it was you who requested a password reset, please click on the link below to reset your password. The link will expire in 15 minutes.

+ + <%= link_to "Reset Password", password_reset_edit_url(token: @token) %> +
+
\ No newline at end of file diff --git a/app/views/password_mailer/reset.text.erb b/app/views/password_mailer/reset.text.erb new file mode 100644 index 000000000..c754b68db --- /dev/null +++ b/app/views/password_mailer/reset.text.erb @@ -0,0 +1,5 @@ +Hi <%= @user.email %>, + +If it was you who requested a password reset, please click on the link below to reset your password. The link will expire in 15 minutes. + +<%= password_reset_edit_url(token: @token) %> \ No newline at end of file diff --git a/app/views/password_resets/edit.html.erb b/app/views/password_resets/edit.html.erb new file mode 100644 index 000000000..10d6c7984 --- /dev/null +++ b/app/views/password_resets/edit.html.erb @@ -0,0 +1,40 @@ +
+
+
+
+ +
+ Reset your password +
+
+ <%= form_with model: @user, url: password_reset_edit_path(token: params[:token]) do |f| %> + <% if f.object.errors.any? %> +
+
    + <% f.object.errors.full_messages.each do |message| %> +
  • <%= message %>
  • + <% end %> +
+
+ <% end %> +
+ <%= f.label :password, "Password" %> + <%= f.password_field :password, placeholder: "Enter your password", class: "form-control" %> +
+
+ <%= f.label :password_confirmation, "Confirm your password" %> + <%= f.password_field :password_confirmation, placeholder: "Enter your password again", class: "form-control" %> +
+ <%= f.submit "Reset", class: "mt-3 custom-btn btn-fill" %> + <% end %> +
+ +
+
+
+
\ No newline at end of file diff --git a/app/views/password_resets/new.html.erb b/app/views/password_resets/new.html.erb new file mode 100644 index 000000000..0024847e3 --- /dev/null +++ b/app/views/password_resets/new.html.erb @@ -0,0 +1,33 @@ +
+
+
+
+ +
+ Reset password +
+
+ <% if flash[:notice].present? %> +
+

<%= flash[:notice] %>

+
+ <% end %> + + <%= form_with url: password_reset_path do |f| %> +
+ <%= f.label :email, "Email" %> + <%= f.text_field :email, placeholder: "Enter your email", class: "form-control" %> +
+ <%= f.submit "Reset password", class: "mt-3 custom-btn btn-fill" %> + <% end %> +
+ +
+
+
+
\ No newline at end of file diff --git a/app/views/user/new.html.erb b/app/views/user/new.html.erb index db130464f..dddd2f65e 100644 --- a/app/views/user/new.html.erb +++ b/app/views/user/new.html.erb @@ -2,15 +2,20 @@
+
Sign up an account
<% if @user.errors.any? %>
- <% @user.errors.full_messages.each do |message| %> -

<%= message %>

- <% end %> +

    + <% @user.errors.full_messages.each do |message| %> +
  • <%= message %>
  • + <% end %> +
<% end %> @@ -30,6 +35,9 @@ <%= f.submit "Create an account", class: "mt-3 custom-btn btn-fill" %> <% end %>
+
diff --git a/config/environments/development.rb b/config/environments/development.rb index 720ad1a86..b242f5c70 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -67,6 +67,6 @@ # Uncomment if you wish to allow Action Cable access from any origin. # config.action_cable.disable_request_forgery_protection = true - - config.assets.compile = true + + config.action_mailer.default_url_options = {host: 'localhost:3000'} end diff --git a/config/initializers/assets.rb b/config/initializers/assets.rb index 0ff43298f..01fa7b5bf 100644 --- a/config/initializers/assets.rb +++ b/config/initializers/assets.rb @@ -9,4 +9,4 @@ # Precompile additional assets. # application.js, application.css, and all non-JS/CSS in the app/assets # folder are already added. -Rails.application.config.assets.precompile += %w( bootstrap.min.js tailwind.css form.css controllers/hello_controller.js controllers/index.js ) +Rails.application.config.assets.precompile += %w( form.css ) diff --git a/config/routes.rb b/config/routes.rb index 5ccf2361e..4c2daba8d 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -4,5 +4,14 @@ get "sign-up", to: "user#new" post "sign-up", to: "user#create" + + get "log-in", to: "access#login" + post "log-in", to: "access#create" + + get "password/reset", to: "password_resets#new" + post "password/reset", to: "password_resets#create" + get "password/reset/edit", to: "password_resets#edit" + patch "password/reset/edit", to: "password_resets#update" + root to: "stations#index" end \ No newline at end of file diff --git a/db/migrate/20241101172048_add_phone_number_to_users.rb b/db/migrate/20241101172048_add_phone_number_to_users.rb new file mode 100644 index 000000000..85fbd3aa2 --- /dev/null +++ b/db/migrate/20241101172048_add_phone_number_to_users.rb @@ -0,0 +1,5 @@ +class AddPhoneNumberToUsers < ActiveRecord::Migration[7.0] + def change + add_column :users, :phone_number, :string + end +end diff --git a/db/schema.rb b/db/schema.rb index 329a79992..8b3dfde81 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.0].define(version: 2024_10_31_210449) do +ActiveRecord::Schema[7.0].define(version: 2024_11_01_172048) do create_table "bikes", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t| t.integer "identifier" t.integer "current_station_id" @@ -34,6 +34,7 @@ t.datetime "updated_at", null: false t.string "password_digest" t.string "string" + t.string "phone_number" end end diff --git a/public/favicon.ico b/public/favicon.ico index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..d68c084e2e49d404eb7abab25926f8d39af8237c 100644 GIT binary patch literal 4286 zcmeH{e@vBC7{?EgT{qWmR&%r{FsfNwt@VeiwvyUv+0XTl8)TT}X5?lr(^aIR5lO9G z%wN@ zp65Bw^PFQ$8o!(zqkpsId}AgVW2OKilLwM}A9K0arAP_J{>LKl|A|1Npu#{pOoSY` z6efV=|JqTv-rp-7(j}eJJxq^ekO4QrTKE=@LJRDJVvvqe{c!XC+Tuih?8`&>u_QFp zuR|`~vLRcZA8KJdEP_t>4QgR4d<2K!FZdqrf)Raia(~TtiGo!FjkDjdtwojg@DrPD z^PCN~e&%ZyKRQ?=Te2x#ipfIghZ?vSq9D2aycp&~8?-_mgnV%0)Lg73IcuHmShU0T zlAD{E|D`9a%TcEENO@ACX$oovabY)pf8I0#q5nRGwE+;P|g%H?1l)%Rt)8y;R` zyPn%=`(Cc~?8^2a$WE@jc(SKAXy zzX+YZ_oc7wuVwo~K55+a*ap?Y5%yd75WJf7^<6~!HK^|X1le?G{eVwBt!gqIU0af~ z*4v&Jsspxatm4u7_}gJ0sEO91O_qBhowD%>j01O;2>l(PSib`Ed|ssOgZ;1!l*7ZI z*jK9Vl;6H`a!;JQm&a{G;TqdA_bsb9xH{;SeSE@a)!|Q|b7X_FueJ!}+nj)0HK=$z z@5_{*7LXrx^$)EI)n40z_Z2JK`Ru2mob;4d+s4_i%l;3{mx6RIhM;}rR<*Gm&IRR1 z^>PyQhPbtN&`*H$ajr`5tja_3k@a4!hx1=+k1gCTzjQX)o(y_#et{X_>OeMSTX*wn zkUhNv&w%EfeYLlM&SDe9pl!i6+y2xC-q|}Af1EnIe;*Z#hQhU)(|wn1?Y|uwL1$YH zd5{AuKx^lM*69w4VBd|WBL4=g@}Re_p>Ul&zT|VSCeTT_eurL|0ikUggYNB{ zp!L&1GQ~X?4uIatt01&@=s@$JxKD-KATPkp^v{FPHjUw0Q0>V_-IvW!1wVt%u@urF zwD)Wbq!W~Hz2!Qm{Al;vI$Gs&0-OzV!*ob5DE?Uxyc3fdPXy&**uF8rSOos-2-p$6 z?qvhfcy@nANwho7M4C*rI&QKd(+J~{^{6pf8OEHGTVhJC$V-c7nvAAQ6FHq}_6%e< W$ND2;Z?r!Wk6IhghG`?1vVQ|yO@Vp< literal 0 HcmV?d00001 diff --git a/test/controllers/access_controller_test.rb b/test/controllers/access_controller_test.rb new file mode 100644 index 000000000..13ef117b0 --- /dev/null +++ b/test/controllers/access_controller_test.rb @@ -0,0 +1,8 @@ +require "test_helper" + +class AccessControllerTest < ActionDispatch::IntegrationTest + test "should get create" do + get access_create_url + assert_response :success + end +end diff --git a/test/controllers/password_resets_controller_test.rb b/test/controllers/password_resets_controller_test.rb new file mode 100644 index 000000000..abcca3e88 --- /dev/null +++ b/test/controllers/password_resets_controller_test.rb @@ -0,0 +1,7 @@ +require "test_helper" + +class PasswordResetsControllerTest < ActionDispatch::IntegrationTest + # test "the truth" do + # assert true + # end +end diff --git a/test/mailers/password_mailer_test.rb b/test/mailers/password_mailer_test.rb new file mode 100644 index 000000000..6f5cc7daf --- /dev/null +++ b/test/mailers/password_mailer_test.rb @@ -0,0 +1,12 @@ +require "test_helper" + +class PasswordMailerTest < ActionMailer::TestCase + test "reset" do + mail = PasswordMailer.reset + assert_equal "Reset", mail.subject + assert_equal ["to@example.org"], mail.to + assert_equal ["from@example.com"], mail.from + assert_match "Hi", mail.body.encoded + end + +end diff --git a/test/mailers/previews/password_mailer_preview.rb b/test/mailers/previews/password_mailer_preview.rb new file mode 100644 index 000000000..684b74290 --- /dev/null +++ b/test/mailers/previews/password_mailer_preview.rb @@ -0,0 +1,9 @@ +# Preview all emails at http://localhost:3000/rails/mailers/password_mailer +class PasswordMailerPreview < ActionMailer::Preview + + # Preview this email at http://localhost:3000/rails/mailers/password_mailer/reset + def reset + PasswordMailer.reset + end + +end From 85d5fee25cc702c2352b9d14f9d2bc3cfc741bd3 Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Sat, 2 Nov 2024 15:04:22 -0400 Subject: [PATCH 20/89] Should be no changes here but just checking... --- .gitignore | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index dc811e2de..bfde24dbf 100644 --- a/.gitignore +++ b/.gitignore @@ -41,4 +41,8 @@ # Ignore Gemfiles Gemfile -Gemfile.lock \ No newline at end of file +Gemfile.lock + +# Ignore emacs backup files +*~ +#*# \ No newline at end of file From a13dd248207986ccb8709feb83890021491f5db6 Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Sat, 2 Nov 2024 15:06:53 -0400 Subject: [PATCH 21/89] Revert "Should be no changes here but just checking..." This reverts commit 85d5fee25cc702c2352b9d14f9d2bc3cfc741bd3. "Should be no changes here but just checking..." --- .gitignore | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index bfde24dbf..dc811e2de 100644 --- a/.gitignore +++ b/.gitignore @@ -41,8 +41,4 @@ # Ignore Gemfiles Gemfile -Gemfile.lock - -# Ignore emacs backup files -*~ -#*# \ No newline at end of file +Gemfile.lock \ No newline at end of file From ac6b0f6da5c29fdd456dfabba80be621bb2d1c55 Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Sat, 2 Nov 2024 15:11:18 -0400 Subject: [PATCH 22/89] gitignore emacs backups --- .gitignore | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index dc811e2de..be8cdace2 100644 --- a/.gitignore +++ b/.gitignore @@ -41,4 +41,8 @@ # Ignore Gemfiles Gemfile -Gemfile.lock \ No newline at end of file +Gemfile.lock + +# Ignore emacs backups +*~ +#*# \ No newline at end of file From 5deb69a99ffcb1b7348fd6319b6e193efd186c39 Mon Sep 17 00:00:00 2001 From: Lynn Do Date: Sat, 2 Nov 2024 15:18:21 -0400 Subject: [PATCH 23/89] Protect password reset route --- app/controllers/password_resets_controller.rb | 7 +++++-- app/views/password_resets/edit.html.erb | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/app/controllers/password_resets_controller.rb b/app/controllers/password_resets_controller.rb index dfbb8ed5b..5e9c354a1 100644 --- a/app/controllers/password_resets_controller.rb +++ b/app/controllers/password_resets_controller.rb @@ -16,8 +16,11 @@ def create def edit # Find the user with the given token - @user = User.find_signed(params[:token], purpose: "password_reset") - puts @user.errors + if params[:token] + @user = User.find_signed(params[:token], purpose: "password_reset") + else + redirect_to log_in_path + end rescue ActiveSupport::MessageVerifier::InvalidSignature redirect_to password_reset_url, notice: "Your token has expired. Please try again" end diff --git a/app/views/password_resets/edit.html.erb b/app/views/password_resets/edit.html.erb index 10d6c7984..1b4d2c978 100644 --- a/app/views/password_resets/edit.html.erb +++ b/app/views/password_resets/edit.html.erb @@ -10,7 +10,7 @@
<%= form_with model: @user, url: password_reset_edit_path(token: params[:token]) do |f| %> - <% if f.object.errors.any? %> + <% if f.object && f.object.errors.any? %>
    <% f.object.errors.full_messages.each do |message| %> From 731ba71f16a35cd4b8d2c8b26002f2ee09e14945 Mon Sep 17 00:00:00 2001 From: Lynn Do Date: Sat, 2 Nov 2024 16:17:13 -0400 Subject: [PATCH 24/89] Gemfile doesn't work. Have to change it --- Gemfile | 90 ----------------- Gemfile.lock | 257 ----------------------------------------------- config/routes.rb | 1 - 3 files changed, 348 deletions(-) delete mode 100644 Gemfile delete mode 100644 Gemfile.lock diff --git a/Gemfile b/Gemfile deleted file mode 100644 index 1c07e9817..000000000 --- a/Gemfile +++ /dev/null @@ -1,90 +0,0 @@ -source "https://rubygems.org" -git_source(:github) { |repo| "https://github.com/#{repo}.git" } - -ruby "3.1.2" - -# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main" -gem "rails", "~> 7.0.3", ">= 7.0.3.1" - -# The original asset pipeline for Rails [https://github.com/rails/sprockets-rails] -gem "sprockets-rails" - -# Use mysql as the database for Active Record -gem "mysql2", "~> 0.5" - -# Use the Puma web server [https://github.com/puma/puma] -gem "puma", "~> 5.0" - -# Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails] -gem "importmap-rails" - -# Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev] -gem "turbo-rails" - -# Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev] -gem "stimulus-rails" - -# Use Tailwind CSS [https://github.com/rails/tailwindcss-rails] -gem "tailwindcss-rails" - -# Build JSON APIs with ease [https://github.com/rails/jbuilder] -gem "jbuilder" - -# Use Redis adapter to run Action Cable in production -gem "redis", "~> 4.0" - -# Use Kredis to get higher-level data types in Redis [https://github.com/rails/kredis] -gem "kredis" - -# Use Active Model has_secure_password [https://guides.rubyonrails.org/active_model_basics.html#securepassword] -gem "bcrypt", "~> 3.1.7" - -# Windows does not include zoneinfo files, so bundle the tzinfo-data gem -gem "tzinfo-data", platforms: %i[ mingw mswin x64_mingw jruby ] - -# Reduces boot times through caching; required in config/boot.rb -gem "bootsnap", require: false - -# Boostrap -gem 'bootstrap', '~> 4.1.1' - -# Use Sass to process CSS -gem "sass-rails", '~> 5.0' - -# Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images] -# gem "image_processing", "~> 1.2" - -group :development, :test do - # See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem - gem "debug", platforms: %i[ mri mingw x64_mingw ] -end - -group :development do - # Use console on exceptions pages [https://github.com/rails/web-console] - gem "web-console" - - # Add speed badges [https://github.com/MiniProfiler/rack-mini-profiler] - # gem "rack-mini-profiler" - - # Speed up commands on slow machines / big apps [https://github.com/rails/spring] - # gem "spring" -end - -group :test do - # Use system testing [https://guides.rubyonrails.org/testing.html#system-testing] - gem "capybara" - gem "selenium-webdriver" - gem "webdrivers" -end - -# Developer Added Gems -gem 'dotenv-rails' - -# Suggested Potentially Useful Gems -# gem 'devise' -# gem 'httparty' -# gem 'paperclip -# gem 'uniquify' -# gem 'will_paginate' - -gem "nio4r", "~> 2.5" \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100644 index 77362f10c..000000000 --- a/Gemfile.lock +++ /dev/null @@ -1,257 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - actioncable (7.0.3.1) - actionpack (= 7.0.3.1) - activesupport (= 7.0.3.1) - nio4r (~> 2.0) - websocket-driver (>= 0.6.1) - actionmailbox (7.0.3.1) - actionpack (= 7.0.3.1) - activejob (= 7.0.3.1) - activerecord (= 7.0.3.1) - activestorage (= 7.0.3.1) - activesupport (= 7.0.3.1) - mail (>= 2.7.1) - net-imap - net-pop - net-smtp - actionmailer (7.0.3.1) - actionpack (= 7.0.3.1) - actionview (= 7.0.3.1) - activejob (= 7.0.3.1) - activesupport (= 7.0.3.1) - mail (~> 2.5, >= 2.5.4) - net-imap - net-pop - net-smtp - rails-dom-testing (~> 2.0) - actionpack (7.0.3.1) - actionview (= 7.0.3.1) - activesupport (= 7.0.3.1) - rack (~> 2.0, >= 2.2.0) - rack-test (>= 0.6.3) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (7.0.3.1) - actionpack (= 7.0.3.1) - activerecord (= 7.0.3.1) - activestorage (= 7.0.3.1) - activesupport (= 7.0.3.1) - globalid (>= 0.6.0) - nokogiri (>= 1.8.5) - actionview (7.0.3.1) - activesupport (= 7.0.3.1) - builder (~> 3.1) - erubi (~> 1.4) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (7.0.3.1) - activesupport (= 7.0.3.1) - globalid (>= 0.3.6) - activemodel (7.0.3.1) - activesupport (= 7.0.3.1) - activerecord (7.0.3.1) - activemodel (= 7.0.3.1) - activesupport (= 7.0.3.1) - activestorage (7.0.3.1) - actionpack (= 7.0.3.1) - activejob (= 7.0.3.1) - activerecord (= 7.0.3.1) - activesupport (= 7.0.3.1) - marcel (~> 1.0) - mini_mime (>= 1.1.0) - activesupport (7.0.3.1) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 1.6, < 2) - minitest (>= 5.1) - tzinfo (~> 2.0) - addressable (2.8.1) - public_suffix (>= 2.0.2, < 6.0) - bindex (0.8.1) - bootsnap (1.13.0) - msgpack (~> 1.2) - builder (3.2.4) - capybara (3.37.1) - addressable - matrix - mini_mime (>= 0.1.3) - nokogiri (~> 1.8) - rack (>= 1.6.0) - rack-test (>= 0.6.3) - regexp_parser (>= 1.5, < 3.0) - xpath (~> 3.2) - childprocess (4.1.0) - concurrent-ruby (1.1.10) - crass (1.0.6) - debug (1.6.2) - irb (>= 1.3.6) - reline (>= 0.3.1) - digest (3.1.0) - dotenv (2.8.1) - dotenv-rails (2.8.1) - dotenv (= 2.8.1) - railties (>= 3.2) - erubi (1.11.0) - globalid (1.0.0) - activesupport (>= 5.0) - i18n (1.12.0) - concurrent-ruby (~> 1.0) - importmap-rails (1.1.5) - actionpack (>= 6.0.0) - railties (>= 6.0.0) - io-console (0.5.11) - irb (1.4.1) - reline (>= 0.3.0) - jbuilder (2.11.5) - actionview (>= 5.0.0) - activesupport (>= 5.0.0) - loofah (2.18.0) - crass (~> 1.0.2) - nokogiri (>= 1.5.9) - mail (2.7.1) - mini_mime (>= 0.1.1) - marcel (1.0.2) - matrix (0.4.2) - method_source (1.0.0) - mini_mime (1.1.2) - minitest (5.16.3) - msgpack (1.5.6) - mysql2 (0.5.4) - net-imap (0.2.3) - digest - net-protocol - strscan - net-pop (0.1.1) - digest - net-protocol - timeout - net-protocol (0.1.3) - timeout - net-smtp (0.3.1) - digest - net-protocol - timeout - nio4r (2.5.9) - nokogiri (1.13.8-arm64-darwin) - racc (~> 1.4) - nokogiri (1.13.8-x86_64-darwin) - racc (~> 1.4) - nokogiri (1.13.8-x86_64-linux) - racc (~> 1.4) - public_suffix (5.0.0) - puma (5.6.5) - nio4r (~> 2.0) - racc (1.6.0) - rack (2.2.4) - rack-test (2.0.2) - rack (>= 1.3) - rails (7.0.3.1) - actioncable (= 7.0.3.1) - actionmailbox (= 7.0.3.1) - actionmailer (= 7.0.3.1) - actionpack (= 7.0.3.1) - actiontext (= 7.0.3.1) - actionview (= 7.0.3.1) - activejob (= 7.0.3.1) - activemodel (= 7.0.3.1) - activerecord (= 7.0.3.1) - activestorage (= 7.0.3.1) - activesupport (= 7.0.3.1) - bundler (>= 1.15.0) - railties (= 7.0.3.1) - rails-dom-testing (2.0.3) - activesupport (>= 4.2.0) - nokogiri (>= 1.6) - rails-html-sanitizer (1.4.3) - loofah (~> 2.3) - railties (7.0.3.1) - actionpack (= 7.0.3.1) - activesupport (= 7.0.3.1) - method_source - rake (>= 12.2) - thor (~> 1.0) - zeitwerk (~> 2.5) - rake (13.0.6) - redis (4.8.0) - regexp_parser (2.5.0) - reline (0.3.1) - io-console (~> 0.5) - rexml (3.2.5) - rubyzip (2.3.2) - selenium-webdriver (4.4.0) - childprocess (>= 0.5, < 5.0) - rexml (~> 3.2, >= 3.2.5) - rubyzip (>= 1.2.2, < 3.0) - websocket (~> 1.0) - sprockets (4.1.1) - concurrent-ruby (~> 1.0) - rack (> 1, < 3) - sprockets-rails (3.4.2) - actionpack (>= 5.2) - activesupport (>= 5.2) - sprockets (>= 3.0.0) - stimulus-rails (1.1.0) - railties (>= 6.0.0) - strscan (3.0.4) - tailwindcss-rails (2.0.12-arm64-darwin) - railties (>= 6.0.0) - tailwindcss-rails (2.0.12-x86_64-darwin) - railties (>= 6.0.0) - tailwindcss-rails (2.0.12-x86_64-linux) - railties (>= 6.0.0) - thor (1.2.1) - timeout (0.3.0) - turbo-rails (1.1.1) - actionpack (>= 6.0.0) - activejob (>= 6.0.0) - railties (>= 6.0.0) - tzinfo (2.0.5) - concurrent-ruby (~> 1.0) - web-console (4.2.0) - actionview (>= 6.0.0) - activemodel (>= 6.0.0) - bindex (>= 0.4.0) - railties (>= 6.0.0) - webdrivers (5.0.0) - nokogiri (~> 1.6) - rubyzip (>= 1.3.0) - selenium-webdriver (~> 4.0) - websocket (1.2.9) - websocket-driver (0.7.5) - websocket-extensions (>= 0.1.0) - websocket-extensions (0.1.5) - xpath (3.2.0) - nokogiri (~> 1.8) - zeitwerk (2.6.0) - -PLATFORMS - arm64-darwin-20 - x86_64-darwin-23 - x86_64-linux - -DEPENDENCIES - bootsnap - capybara - debug - dotenv-rails - importmap-rails - jbuilder - mysql2 (~> 0.5) - puma (~> 5.0) - rails (~> 7.0.3, >= 7.0.3.1) - redis (~> 4.0) - selenium-webdriver - sprockets-rails - stimulus-rails - tailwindcss-rails - turbo-rails - tzinfo-data - web-console - webdrivers - -RUBY VERSION - ruby 3.1.2p20 - -BUNDLED WITH - 2.3.18 \ No newline at end of file diff --git a/config/routes.rb b/config/routes.rb index 2115c8b3a..4db57052b 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -14,7 +14,6 @@ get "password/reset/edit", to: "password_resets#edit" patch "password/reset/edit", to: "password_resets#update" - root to: "stations#index" get 'main/pricing' get 'main/account' get 'main/contact' From a7495e345bd5faba9c79418846a8294117bff352 Mon Sep 17 00:00:00 2001 From: Lynn Do Date: Sat, 2 Nov 2024 16:28:32 -0400 Subject: [PATCH 25/89] Fix Gemfile.lock --- Gemfile.lock | 330 ++++++++++++++++++++++++++++----------------------- 1 file changed, 183 insertions(+), 147 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 77362f10c..e4941ab18 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,246 +1,282 @@ GEM remote: https://rubygems.org/ specs: - actioncable (7.0.3.1) - actionpack (= 7.0.3.1) - activesupport (= 7.0.3.1) + actioncable (7.0.8.6) + actionpack (= 7.0.8.6) + activesupport (= 7.0.8.6) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (7.0.3.1) - actionpack (= 7.0.3.1) - activejob (= 7.0.3.1) - activerecord (= 7.0.3.1) - activestorage (= 7.0.3.1) - activesupport (= 7.0.3.1) + actionmailbox (7.0.8.6) + actionpack (= 7.0.8.6) + activejob (= 7.0.8.6) + activerecord (= 7.0.8.6) + activestorage (= 7.0.8.6) + activesupport (= 7.0.8.6) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.0.3.1) - actionpack (= 7.0.3.1) - actionview (= 7.0.3.1) - activejob (= 7.0.3.1) - activesupport (= 7.0.3.1) + actionmailer (7.0.8.6) + actionpack (= 7.0.8.6) + actionview (= 7.0.8.6) + activejob (= 7.0.8.6) + activesupport (= 7.0.8.6) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.0) - actionpack (7.0.3.1) - actionview (= 7.0.3.1) - activesupport (= 7.0.3.1) - rack (~> 2.0, >= 2.2.0) + actionpack (7.0.8.6) + actionview (= 7.0.8.6) + activesupport (= 7.0.8.6) + rack (~> 2.0, >= 2.2.4) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (7.0.3.1) - actionpack (= 7.0.3.1) - activerecord (= 7.0.3.1) - activestorage (= 7.0.3.1) - activesupport (= 7.0.3.1) + actiontext (7.0.8.6) + actionpack (= 7.0.8.6) + activerecord (= 7.0.8.6) + activestorage (= 7.0.8.6) + activesupport (= 7.0.8.6) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.0.3.1) - activesupport (= 7.0.3.1) + actionview (7.0.8.6) + activesupport (= 7.0.8.6) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (7.0.3.1) - activesupport (= 7.0.3.1) + activejob (7.0.8.6) + activesupport (= 7.0.8.6) globalid (>= 0.3.6) - activemodel (7.0.3.1) - activesupport (= 7.0.3.1) - activerecord (7.0.3.1) - activemodel (= 7.0.3.1) - activesupport (= 7.0.3.1) - activestorage (7.0.3.1) - actionpack (= 7.0.3.1) - activejob (= 7.0.3.1) - activerecord (= 7.0.3.1) - activesupport (= 7.0.3.1) + activemodel (7.0.8.6) + activesupport (= 7.0.8.6) + activerecord (7.0.8.6) + activemodel (= 7.0.8.6) + activesupport (= 7.0.8.6) + activestorage (7.0.8.6) + actionpack (= 7.0.8.6) + activejob (= 7.0.8.6) + activerecord (= 7.0.8.6) + activesupport (= 7.0.8.6) marcel (~> 1.0) mini_mime (>= 1.1.0) - activesupport (7.0.3.1) + activesupport (7.0.8.6) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) tzinfo (~> 2.0) - addressable (2.8.1) - public_suffix (>= 2.0.2, < 6.0) + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + autoprefixer-rails (10.4.19.0) + execjs (~> 2) + base64 (0.2.0) + bcrypt (3.1.20) bindex (0.8.1) - bootsnap (1.13.0) + bootsnap (1.18.4) msgpack (~> 1.2) - builder (3.2.4) - capybara (3.37.1) + bootstrap (4.1.3) + autoprefixer-rails (>= 6.0.3) + popper_js (>= 1.12.9, < 2) + sass (>= 3.5.2) + builder (3.3.0) + capybara (3.40.0) addressable matrix mini_mime (>= 0.1.3) - nokogiri (~> 1.8) + nokogiri (~> 1.11) rack (>= 1.6.0) rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) - childprocess (4.1.0) - concurrent-ruby (1.1.10) + concurrent-ruby (1.3.4) crass (1.0.6) - debug (1.6.2) - irb (>= 1.3.6) - reline (>= 0.3.1) - digest (3.1.0) - dotenv (2.8.1) - dotenv-rails (2.8.1) - dotenv (= 2.8.1) - railties (>= 3.2) - erubi (1.11.0) - globalid (1.0.0) - activesupport (>= 5.0) - i18n (1.12.0) + date (3.4.0) + debug (1.9.2) + irb (~> 1.10) + reline (>= 0.3.8) + dotenv (3.1.4) + dotenv-rails (3.1.4) + dotenv (= 3.1.4) + railties (>= 6.1) + erubi (1.13.0) + execjs (2.10.0) + ffi (1.17.0-arm64-darwin) + ffi (1.17.0-x86_64-darwin) + globalid (1.2.1) + activesupport (>= 6.1) + i18n (1.14.6) concurrent-ruby (~> 1.0) - importmap-rails (1.1.5) + importmap-rails (2.0.3) actionpack (>= 6.0.0) + activesupport (>= 6.0.0) railties (>= 6.0.0) - io-console (0.5.11) - irb (1.4.1) - reline (>= 0.3.0) - jbuilder (2.11.5) + io-console (0.7.2) + irb (1.14.1) + rdoc (>= 4.0.0) + reline (>= 0.4.2) + jbuilder (2.13.0) actionview (>= 5.0.0) activesupport (>= 5.0.0) - loofah (2.18.0) + kredis (1.7.0) + activemodel (>= 6.0.0) + activesupport (>= 6.0.0) + redis (>= 4.2, < 6) + loofah (2.23.1) crass (~> 1.0.2) - nokogiri (>= 1.5.9) - mail (2.7.1) + nokogiri (>= 1.12.0) + mail (2.8.1) mini_mime (>= 0.1.1) - marcel (1.0.2) + net-imap + net-pop + net-smtp + marcel (1.0.4) matrix (0.4.2) - method_source (1.0.0) - mini_mime (1.1.2) - minitest (5.16.3) - msgpack (1.5.6) - mysql2 (0.5.4) - net-imap (0.2.3) - digest + method_source (1.1.0) + mini_mime (1.1.5) + minitest (5.25.1) + msgpack (1.7.3) + mysql2 (0.5.6) + net-imap (0.5.0) + date net-protocol - strscan - net-pop (0.1.1) - digest + net-pop (0.1.2) net-protocol + net-protocol (0.2.2) timeout - net-protocol (0.1.3) - timeout - net-smtp (0.3.1) - digest + net-smtp (0.5.0) net-protocol - timeout - nio4r (2.5.9) - nokogiri (1.13.8-arm64-darwin) - racc (~> 1.4) - nokogiri (1.13.8-x86_64-darwin) + nio4r (2.7.4) + nokogiri (1.16.7-arm64-darwin) racc (~> 1.4) - nokogiri (1.13.8-x86_64-linux) + nokogiri (1.16.7-x86_64-darwin) racc (~> 1.4) - public_suffix (5.0.0) - puma (5.6.5) + popper_js (1.16.1) + psych (5.1.2) + stringio + public_suffix (6.0.1) + puma (5.6.9) nio4r (~> 2.0) - racc (1.6.0) - rack (2.2.4) - rack-test (2.0.2) + racc (1.8.1) + rack (2.2.10) + rack-test (2.1.0) rack (>= 1.3) - rails (7.0.3.1) - actioncable (= 7.0.3.1) - actionmailbox (= 7.0.3.1) - actionmailer (= 7.0.3.1) - actionpack (= 7.0.3.1) - actiontext (= 7.0.3.1) - actionview (= 7.0.3.1) - activejob (= 7.0.3.1) - activemodel (= 7.0.3.1) - activerecord (= 7.0.3.1) - activestorage (= 7.0.3.1) - activesupport (= 7.0.3.1) + rails (7.0.8.6) + actioncable (= 7.0.8.6) + actionmailbox (= 7.0.8.6) + actionmailer (= 7.0.8.6) + actionpack (= 7.0.8.6) + actiontext (= 7.0.8.6) + actionview (= 7.0.8.6) + activejob (= 7.0.8.6) + activemodel (= 7.0.8.6) + activerecord (= 7.0.8.6) + activestorage (= 7.0.8.6) + activesupport (= 7.0.8.6) bundler (>= 1.15.0) - railties (= 7.0.3.1) - rails-dom-testing (2.0.3) - activesupport (>= 4.2.0) + railties (= 7.0.8.6) + rails-dom-testing (2.2.0) + activesupport (>= 5.0.0) + minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.4.3) - loofah (~> 2.3) - railties (7.0.3.1) - actionpack (= 7.0.3.1) - activesupport (= 7.0.3.1) + rails-html-sanitizer (1.6.0) + loofah (~> 2.21) + nokogiri (~> 1.14) + railties (7.0.8.6) + actionpack (= 7.0.8.6) + activesupport (= 7.0.8.6) method_source rake (>= 12.2) thor (~> 1.0) zeitwerk (~> 2.5) - rake (13.0.6) - redis (4.8.0) - regexp_parser (2.5.0) - reline (0.3.1) + rake (13.2.1) + rb-fsevent (0.11.2) + rb-inotify (0.11.1) + ffi (~> 1.0) + rdoc (6.7.0) + psych (>= 4.0.0) + redis (4.8.1) + regexp_parser (2.9.2) + reline (0.5.10) io-console (~> 0.5) - rexml (3.2.5) + rexml (3.3.9) rubyzip (2.3.2) - selenium-webdriver (4.4.0) - childprocess (>= 0.5, < 5.0) + sass (3.7.4) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + sass-rails (5.1.0) + railties (>= 5.2.0) + sass (~> 3.1) + sprockets (>= 2.8, < 4.0) + sprockets-rails (>= 2.0, < 4.0) + tilt (>= 1.1, < 3) + selenium-webdriver (4.10.0) rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) websocket (~> 1.0) - sprockets (4.1.1) + sprockets (3.7.5) + base64 concurrent-ruby (~> 1.0) rack (> 1, < 3) - sprockets-rails (3.4.2) - actionpack (>= 5.2) - activesupport (>= 5.2) + sprockets-rails (3.5.2) + actionpack (>= 6.1) + activesupport (>= 6.1) sprockets (>= 3.0.0) - stimulus-rails (1.1.0) - railties (>= 6.0.0) - strscan (3.0.4) - tailwindcss-rails (2.0.12-arm64-darwin) - railties (>= 6.0.0) - tailwindcss-rails (2.0.12-x86_64-darwin) - railties (>= 6.0.0) - tailwindcss-rails (2.0.12-x86_64-linux) + stimulus-rails (1.3.4) railties (>= 6.0.0) - thor (1.2.1) - timeout (0.3.0) - turbo-rails (1.1.1) + stringio (3.1.1) + tailwindcss-rails (3.0.0) + railties (>= 7.0.0) + tailwindcss-ruby + tailwindcss-ruby (3.4.14-arm64-darwin) + tailwindcss-ruby (3.4.14-x86_64-darwin) + thor (1.3.2) + tilt (2.4.0) + timeout (0.4.1) + turbo-rails (2.0.11) actionpack (>= 6.0.0) - activejob (>= 6.0.0) railties (>= 6.0.0) - tzinfo (2.0.5) + tzinfo (2.0.6) concurrent-ruby (~> 1.0) - web-console (4.2.0) + web-console (4.2.1) actionview (>= 6.0.0) activemodel (>= 6.0.0) bindex (>= 0.4.0) railties (>= 6.0.0) - webdrivers (5.0.0) + webdrivers (5.3.1) nokogiri (~> 1.6) rubyzip (>= 1.3.0) - selenium-webdriver (~> 4.0) - websocket (1.2.9) - websocket-driver (0.7.5) + selenium-webdriver (~> 4.0, < 4.11) + websocket (1.2.11) + websocket-driver (0.7.6) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.6.0) + zeitwerk (2.6.18) PLATFORMS - arm64-darwin-20 - x86_64-darwin-23 - x86_64-linux + arm64-darwin + x86_64-darwin DEPENDENCIES + bcrypt (~> 3.1.7) bootsnap + bootstrap (~> 4.1.1) capybara debug dotenv-rails importmap-rails jbuilder + kredis mysql2 (~> 0.5) + nio4r (~> 2.5) puma (~> 5.0) rails (~> 7.0.3, >= 7.0.3.1) redis (~> 4.0) + sass-rails (~> 5.0) selenium-webdriver sprockets-rails stimulus-rails @@ -251,7 +287,7 @@ DEPENDENCIES webdrivers RUBY VERSION - ruby 3.1.2p20 + ruby 3.1.2p20 BUNDLED WITH - 2.3.18 \ No newline at end of file + 2.5.18 From f26aebbc6c70eccd0fe0328cb1a36386c24dd06d Mon Sep 17 00:00:00 2001 From: Lynn Do Date: Sat, 2 Nov 2024 16:31:37 -0400 Subject: [PATCH 26/89] Configure gitattributes --- .gitattributes | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitattributes b/.gitattributes index 516857104..ea2a81515 100644 --- a/.gitattributes +++ b/.gitattributes @@ -8,3 +8,6 @@ yarn.lock linguist-generated # Mark any vendored files as having been vendored. vendor/* linguist-vendored + +Gemfile merge=ours +Gemfile.lock merge=ours \ No newline at end of file From 41667bf62d49dc45942b2e77c68078045335780e Mon Sep 17 00:00:00 2001 From: Rey Snyder Date: Sun, 3 Nov 2024 01:12:19 -0400 Subject: [PATCH 27/89] attempted to create indiviudla station pages --- app/views/stations/station.html.erb | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 app/views/stations/station.html.erb diff --git a/app/views/stations/station.html.erb b/app/views/stations/station.html.erb new file mode 100644 index 000000000..e69de29bb From dfacf3f7af3522f04af94faaa8eec32b9e64bb64 Mon Sep 17 00:00:00 2001 From: Rey Snyder Date: Sun, 3 Nov 2024 01:13:07 -0400 Subject: [PATCH 28/89] new controller added --- app/views/stations/station.html.erb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/views/stations/station.html.erb b/app/views/stations/station.html.erb index e69de29bb..fd99dcec9 100644 --- a/app/views/stations/station.html.erb +++ b/app/views/stations/station.html.erb @@ -0,0 +1,4 @@ +Info for <%= station.identifier %>: <%= station.name %> (<%= station.address %>) +
    + <%= render(partial: "bikes/row", collection: Bike.where(current_station_id: station.identifier), as: :bike )%> +
    \ No newline at end of file From f0ccf1e0c2cf64ab873b03ee824fd49aa72b7690 Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Sun, 3 Nov 2024 15:20:41 -0500 Subject: [PATCH 29/89] fix Gemfile.lock, hopefully for the last time --- Gemfile.lock | 331 +++++++++++++++++++++++++++++---------------------- 1 file changed, 186 insertions(+), 145 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 77362f10c..7a7bded4e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,246 +1,287 @@ GEM remote: https://rubygems.org/ specs: - actioncable (7.0.3.1) - actionpack (= 7.0.3.1) - activesupport (= 7.0.3.1) + actioncable (7.0.8.6) + actionpack (= 7.0.8.6) + activesupport (= 7.0.8.6) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (7.0.3.1) - actionpack (= 7.0.3.1) - activejob (= 7.0.3.1) - activerecord (= 7.0.3.1) - activestorage (= 7.0.3.1) - activesupport (= 7.0.3.1) + actionmailbox (7.0.8.6) + actionpack (= 7.0.8.6) + activejob (= 7.0.8.6) + activerecord (= 7.0.8.6) + activestorage (= 7.0.8.6) + activesupport (= 7.0.8.6) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.0.3.1) - actionpack (= 7.0.3.1) - actionview (= 7.0.3.1) - activejob (= 7.0.3.1) - activesupport (= 7.0.3.1) + actionmailer (7.0.8.6) + actionpack (= 7.0.8.6) + actionview (= 7.0.8.6) + activejob (= 7.0.8.6) + activesupport (= 7.0.8.6) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.0) - actionpack (7.0.3.1) - actionview (= 7.0.3.1) - activesupport (= 7.0.3.1) - rack (~> 2.0, >= 2.2.0) + actionpack (7.0.8.6) + actionview (= 7.0.8.6) + activesupport (= 7.0.8.6) + rack (~> 2.0, >= 2.2.4) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (7.0.3.1) - actionpack (= 7.0.3.1) - activerecord (= 7.0.3.1) - activestorage (= 7.0.3.1) - activesupport (= 7.0.3.1) + actiontext (7.0.8.6) + actionpack (= 7.0.8.6) + activerecord (= 7.0.8.6) + activestorage (= 7.0.8.6) + activesupport (= 7.0.8.6) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.0.3.1) - activesupport (= 7.0.3.1) + actionview (7.0.8.6) + activesupport (= 7.0.8.6) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (7.0.3.1) - activesupport (= 7.0.3.1) + activejob (7.0.8.6) + activesupport (= 7.0.8.6) globalid (>= 0.3.6) - activemodel (7.0.3.1) - activesupport (= 7.0.3.1) - activerecord (7.0.3.1) - activemodel (= 7.0.3.1) - activesupport (= 7.0.3.1) - activestorage (7.0.3.1) - actionpack (= 7.0.3.1) - activejob (= 7.0.3.1) - activerecord (= 7.0.3.1) - activesupport (= 7.0.3.1) + activemodel (7.0.8.6) + activesupport (= 7.0.8.6) + activerecord (7.0.8.6) + activemodel (= 7.0.8.6) + activesupport (= 7.0.8.6) + activestorage (7.0.8.6) + actionpack (= 7.0.8.6) + activejob (= 7.0.8.6) + activerecord (= 7.0.8.6) + activesupport (= 7.0.8.6) marcel (~> 1.0) mini_mime (>= 1.1.0) - activesupport (7.0.3.1) + activesupport (7.0.8.6) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) tzinfo (~> 2.0) - addressable (2.8.1) - public_suffix (>= 2.0.2, < 6.0) + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + autoprefixer-rails (10.4.19.0) + execjs (~> 2) + base64 (0.2.0) + bcrypt (3.1.20) bindex (0.8.1) - bootsnap (1.13.0) + bootsnap (1.18.4) msgpack (~> 1.2) - builder (3.2.4) - capybara (3.37.1) + bootstrap (4.1.3) + autoprefixer-rails (>= 6.0.3) + popper_js (>= 1.12.9, < 2) + sass (>= 3.5.2) + builder (3.3.0) + capybara (3.40.0) addressable matrix mini_mime (>= 0.1.3) - nokogiri (~> 1.8) + nokogiri (~> 1.11) rack (>= 1.6.0) rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) - childprocess (4.1.0) - concurrent-ruby (1.1.10) + concurrent-ruby (1.3.4) crass (1.0.6) - debug (1.6.2) - irb (>= 1.3.6) - reline (>= 0.3.1) - digest (3.1.0) - dotenv (2.8.1) - dotenv-rails (2.8.1) - dotenv (= 2.8.1) - railties (>= 3.2) - erubi (1.11.0) - globalid (1.0.0) - activesupport (>= 5.0) - i18n (1.12.0) + date (3.4.0) + debug (1.9.2) + irb (~> 1.10) + reline (>= 0.3.8) + dotenv (3.1.4) + dotenv-rails (3.1.4) + dotenv (= 3.1.4) + railties (>= 6.1) + erubi (1.13.0) + execjs (2.10.0) + ffi (1.17.0) + ffi (1.17.0-arm64-darwin) + ffi (1.17.0-x86_64-darwin) + globalid (1.2.1) + activesupport (>= 6.1) + i18n (1.14.6) concurrent-ruby (~> 1.0) - importmap-rails (1.1.5) + importmap-rails (2.0.3) actionpack (>= 6.0.0) + activesupport (>= 6.0.0) railties (>= 6.0.0) - io-console (0.5.11) - irb (1.4.1) - reline (>= 0.3.0) - jbuilder (2.11.5) + io-console (0.7.2) + irb (1.14.1) + rdoc (>= 4.0.0) + reline (>= 0.4.2) + jbuilder (2.13.0) actionview (>= 5.0.0) activesupport (>= 5.0.0) - loofah (2.18.0) + kredis (1.7.0) + activemodel (>= 6.0.0) + activesupport (>= 6.0.0) + redis (>= 4.2, < 6) + loofah (2.23.1) crass (~> 1.0.2) - nokogiri (>= 1.5.9) - mail (2.7.1) + nokogiri (>= 1.12.0) + mail (2.8.1) mini_mime (>= 0.1.1) - marcel (1.0.2) + net-imap + net-pop + net-smtp + marcel (1.0.4) matrix (0.4.2) - method_source (1.0.0) - mini_mime (1.1.2) - minitest (5.16.3) - msgpack (1.5.6) - mysql2 (0.5.4) - net-imap (0.2.3) - digest + method_source (1.1.0) + mini_mime (1.1.5) + minitest (5.25.1) + msgpack (1.7.3) + mysql2 (0.5.6) + net-imap (0.5.0) + date net-protocol - strscan - net-pop (0.1.1) - digest + net-pop (0.1.2) net-protocol + net-protocol (0.2.2) timeout - net-protocol (0.1.3) - timeout - net-smtp (0.3.1) - digest + net-smtp (0.5.0) net-protocol - timeout - nio4r (2.5.9) - nokogiri (1.13.8-arm64-darwin) + nio4r (2.7.4) + nokogiri (1.16.7-arm64-darwin) racc (~> 1.4) - nokogiri (1.13.8-x86_64-darwin) + nokogiri (1.16.7-x86_64-darwin) racc (~> 1.4) - nokogiri (1.13.8-x86_64-linux) + nokogiri (1.16.7-x86_64-linux) racc (~> 1.4) - public_suffix (5.0.0) - puma (5.6.5) + popper_js (1.16.1) + psych (5.1.2) + stringio + public_suffix (6.0.1) + puma (5.6.9) nio4r (~> 2.0) - racc (1.6.0) - rack (2.2.4) - rack-test (2.0.2) + racc (1.8.1) + rack (2.2.10) + rack-test (2.1.0) rack (>= 1.3) - rails (7.0.3.1) - actioncable (= 7.0.3.1) - actionmailbox (= 7.0.3.1) - actionmailer (= 7.0.3.1) - actionpack (= 7.0.3.1) - actiontext (= 7.0.3.1) - actionview (= 7.0.3.1) - activejob (= 7.0.3.1) - activemodel (= 7.0.3.1) - activerecord (= 7.0.3.1) - activestorage (= 7.0.3.1) - activesupport (= 7.0.3.1) + rails (7.0.8.6) + actioncable (= 7.0.8.6) + actionmailbox (= 7.0.8.6) + actionmailer (= 7.0.8.6) + actionpack (= 7.0.8.6) + actiontext (= 7.0.8.6) + actionview (= 7.0.8.6) + activejob (= 7.0.8.6) + activemodel (= 7.0.8.6) + activerecord (= 7.0.8.6) + activestorage (= 7.0.8.6) + activesupport (= 7.0.8.6) bundler (>= 1.15.0) - railties (= 7.0.3.1) - rails-dom-testing (2.0.3) - activesupport (>= 4.2.0) + railties (= 7.0.8.6) + rails-dom-testing (2.2.0) + activesupport (>= 5.0.0) + minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.4.3) - loofah (~> 2.3) - railties (7.0.3.1) - actionpack (= 7.0.3.1) - activesupport (= 7.0.3.1) + rails-html-sanitizer (1.6.0) + loofah (~> 2.21) + nokogiri (~> 1.14) + railties (7.0.8.6) + actionpack (= 7.0.8.6) + activesupport (= 7.0.8.6) method_source rake (>= 12.2) thor (~> 1.0) zeitwerk (~> 2.5) - rake (13.0.6) - redis (4.8.0) - regexp_parser (2.5.0) - reline (0.3.1) + rake (13.2.1) + rb-fsevent (0.11.2) + rb-inotify (0.11.1) + ffi (~> 1.0) + rdoc (6.7.0) + psych (>= 4.0.0) + redis (4.8.1) + regexp_parser (2.9.2) + reline (0.5.10) io-console (~> 0.5) - rexml (3.2.5) + rexml (3.3.9) rubyzip (2.3.2) - selenium-webdriver (4.4.0) - childprocess (>= 0.5, < 5.0) + sass (3.7.4) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + sass-rails (5.1.0) + railties (>= 5.2.0) + sass (~> 3.1) + sprockets (>= 2.8, < 4.0) + sprockets-rails (>= 2.0, < 4.0) + tilt (>= 1.1, < 3) + selenium-webdriver (4.10.0) rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) websocket (~> 1.0) - sprockets (4.1.1) + sprockets (3.7.5) + base64 concurrent-ruby (~> 1.0) rack (> 1, < 3) - sprockets-rails (3.4.2) - actionpack (>= 5.2) - activesupport (>= 5.2) + sprockets-rails (3.5.2) + actionpack (>= 6.1) + activesupport (>= 6.1) sprockets (>= 3.0.0) - stimulus-rails (1.1.0) - railties (>= 6.0.0) - strscan (3.0.4) - tailwindcss-rails (2.0.12-arm64-darwin) - railties (>= 6.0.0) - tailwindcss-rails (2.0.12-x86_64-darwin) - railties (>= 6.0.0) - tailwindcss-rails (2.0.12-x86_64-linux) + stimulus-rails (1.3.4) railties (>= 6.0.0) - thor (1.2.1) - timeout (0.3.0) - turbo-rails (1.1.1) + stringio (3.1.1) + tailwindcss-rails (3.0.0) + railties (>= 7.0.0) + tailwindcss-ruby + tailwindcss-ruby (3.4.14-arm64-darwin) + tailwindcss-ruby (3.4.14-x86_64-darwin) + tailwindcss-ruby (3.4.14-x86_64-linux) + thor (1.3.2) + tilt (2.4.0) + timeout (0.4.1) + turbo-rails (2.0.11) actionpack (>= 6.0.0) - activejob (>= 6.0.0) railties (>= 6.0.0) - tzinfo (2.0.5) + tzinfo (2.0.6) concurrent-ruby (~> 1.0) - web-console (4.2.0) + web-console (4.2.1) actionview (>= 6.0.0) activemodel (>= 6.0.0) bindex (>= 0.4.0) railties (>= 6.0.0) - webdrivers (5.0.0) + webdrivers (5.3.1) nokogiri (~> 1.6) rubyzip (>= 1.3.0) - selenium-webdriver (~> 4.0) - websocket (1.2.9) - websocket-driver (0.7.5) + selenium-webdriver (~> 4.0, < 4.11) + websocket (1.2.11) + websocket-driver (0.7.6) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.6.0) + zeitwerk (2.6.18) PLATFORMS - arm64-darwin-20 - x86_64-darwin-23 + arm64-darwin + x86_64-darwin x86_64-linux DEPENDENCIES + bcrypt (~> 3.1.7) bootsnap + bootstrap (~> 4.1.1) capybara debug dotenv-rails importmap-rails jbuilder + kredis mysql2 (~> 0.5) + nio4r (~> 2.5) puma (~> 5.0) rails (~> 7.0.3, >= 7.0.3.1) redis (~> 4.0) + sass-rails (~> 5.0) selenium-webdriver sprockets-rails stimulus-rails @@ -251,7 +292,7 @@ DEPENDENCIES webdrivers RUBY VERSION - ruby 3.1.2p20 + ruby 3.1.2p20 BUNDLED WITH - 2.3.18 \ No newline at end of file + 2.5.18 From ab861a8024a7aab98ac460dea2d403d607b74b81 Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Sun, 3 Nov 2024 15:58:39 -0500 Subject: [PATCH 30/89] Add precompiles as demanded by rails and fix duplicate migration function --- config/initializers/assets.rb | 6 ++++++ db/migrate/20241031151655_create_users.rb | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/config/initializers/assets.rb b/config/initializers/assets.rb index 01fa7b5bf..428202082 100644 --- a/config/initializers/assets.rb +++ b/config/initializers/assets.rb @@ -10,3 +10,9 @@ # application.js, application.css, and all non-JS/CSS in the app/assets # folder are already added. Rails.application.config.assets.precompile += %w( form.css ) + +# uhh so rails told me to add all these inexplicably but it works now so... +Rails.application.config.assets.precompile += %w( tailwind.css ) +Rails.application.config.assets.precompile += %w( bootstrap.min.js ) +Rails.application.config.assets.precompile += %w( controllers/hello_controller.js ) +Rails.application.config.assets.precompile += %w( controllers/index.js ) diff --git a/db/migrate/20241031151655_create_users.rb b/db/migrate/20241031151655_create_users.rb index e9447a538..ca0284b32 100644 --- a/db/migrate/20241031151655_create_users.rb +++ b/db/migrate/20241031151655_create_users.rb @@ -3,7 +3,7 @@ def change create_table :users do |t| t.string :name t.string :email, null: false - t.string :password_digest + # t.string :password_digest t.timestamps end From 3d335a82e7cdccd10866836a94ee51fab3d4d4aa Mon Sep 17 00:00:00 2001 From: Rey Snyder Date: Sun, 3 Nov 2024 01:15:09 -0400 Subject: [PATCH 31/89] added new controller ad route --- app/controllers/stations_controller.rb | 3 +++ app/views/stations/_row.html.erb | 2 +- config/routes.rb | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app/controllers/stations_controller.rb b/app/controllers/stations_controller.rb index 3f9690dd6..9c619efb2 100644 --- a/app/controllers/stations_controller.rb +++ b/app/controllers/stations_controller.rb @@ -3,5 +3,8 @@ class StationsController < ApplicationController def index @stations = Station.all.order(identifier: :asc) end + + def station + end end diff --git a/app/views/stations/_row.html.erb b/app/views/stations/_row.html.erb index 3634891b3..adc9a31b2 100644 --- a/app/views/stations/_row.html.erb +++ b/app/views/stations/_row.html.erb @@ -4,6 +4,6 @@ <%= Bike.where(current_station_id: station.identifier).length %> available bikes:
- <%= render(partial: "bikes/row", collection: Bike.where(current_station_id: station.identifier), as: :bike )%> + <%= link_to("Station #{station.identifier}", {controller: 'stations' , action: 'station'}) %>
diff --git a/config/routes.rb b/config/routes.rb index 1275c042f..11910ba66 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,5 +1,6 @@ Rails.application.routes.draw do get 'stations/index' + get 'stations/station' get 'bikes/index' get 'bikes/_row' get 'main/pricing' From 2e28914a9f96855a7a15276baf82e7463f86b269 Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Sun, 3 Nov 2024 18:00:51 -0500 Subject: [PATCH 32/89] Remove insecure password field from the user table in schema.rb --- db/schema.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/db/schema.rb b/db/schema.rb index 8b3dfde81..79e1dc67c 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -29,7 +29,6 @@ create_table "users", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t| t.string "name" t.string "email", null: false - t.string "password" t.datetime "created_at", null: false t.datetime "updated_at", null: false t.string "password_digest" From 6e322711438e36eddb9c309ad16a918690260ef2 Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Sun, 3 Nov 2024 18:18:54 -0500 Subject: [PATCH 33/89] DRY main views --- app/controllers/main_controller.rb | 2 ++ app/views/layouts/main.html.erb | 31 +++++++++++++++++ app/views/main/account.html.erb | 8 ----- app/views/main/contact.html.erb | 8 ----- app/views/main/index.html.erb | 8 ----- app/views/main/pricing.html.erb | 10 +----- config/#database.yml# | 55 ------------------------------ 7 files changed, 34 insertions(+), 88 deletions(-) create mode 100644 app/views/layouts/main.html.erb delete mode 100644 config/#database.yml# diff --git a/app/controllers/main_controller.rb b/app/controllers/main_controller.rb index 3371c37a4..378a2e379 100644 --- a/app/controllers/main_controller.rb +++ b/app/controllers/main_controller.rb @@ -1,4 +1,6 @@ class MainController < ApplicationController + layout 'main' + def index end diff --git a/app/views/layouts/main.html.erb b/app/views/layouts/main.html.erb new file mode 100644 index 000000000..a49dea3ce --- /dev/null +++ b/app/views/layouts/main.html.erb @@ -0,0 +1,31 @@ + + + + + + <%= csrf_meta_tags %> + <%= csp_meta_tag %> + <%= stylesheet_link_tag "tailwind", "inter-font", "data-turbo-track": "reload" %> + <%= stylesheet_link_tag "application", "data-turbo-track": "reload" %> + <%= javascript_importmap_tags %> + + <%= favicon_link_tag asset_path('favicon.ico') %> + ValetBike + + +
+
+ +
+ <%= link_to('Home Page', {controller: 'main' , action: 'index'}) %> | + <%= link_to('Bikes/Stations', {controller: 'stations' , action: 'index'}) %> | + <%= link_to('Pricing', {controller: 'main' , action: 'pricing'}) %> | + <%= link_to('Contact', {controller: 'main' , action: 'contact'}) %> | + <%= link_to('Account', {controller: 'main' , action: 'account'}) %> +
+ + <%= yield %> +
+
+ + diff --git a/app/views/main/account.html.erb b/app/views/main/account.html.erb index a03f6c109..3f9a20898 100644 --- a/app/views/main/account.html.erb +++ b/app/views/main/account.html.erb @@ -4,13 +4,5 @@
Account Page
- -
- <%= link_to('Home Page', {controller: 'main' , action: 'index'}) %> | - <%= link_to('Bikes/Stations', {controller: 'stations' , action: 'index'}) %> | - <%= link_to('Pricing', {controller: 'main' , action: 'pricing'}) %> | - <%= link_to('Contact', {controller: 'main' , action: 'contact'}) %> | - <%= link_to('Account', {controller: 'main' , action: 'account'}) %> -
diff --git a/app/views/main/contact.html.erb b/app/views/main/contact.html.erb index 3fba1456d..978875809 100644 --- a/app/views/main/contact.html.erb +++ b/app/views/main/contact.html.erb @@ -3,14 +3,6 @@
Contact Page
- -
- <%= link_to('Home Page', {controller: 'main' , action: 'index'}) %> | - <%= link_to('Bikes/Stations', {controller: 'stations' , action: 'index'}) %> | - <%= link_to('Pricing', {controller: 'main' , action: 'pricing'}) %> | - <%= link_to('Contact', {controller: 'main' , action: 'contact'}) %> | - <%= link_to('Account', {controller: 'main' , action: 'account'}) %> -
\ No newline at end of file diff --git a/app/views/main/index.html.erb b/app/views/main/index.html.erb index bdc96148a..ce08d7724 100644 --- a/app/views/main/index.html.erb +++ b/app/views/main/index.html.erb @@ -3,13 +3,5 @@
ValetBike Home Page
- -
- <%= link_to('Home Page', {controller: 'main' , action: 'index'}) %> | - <%= link_to('Bikes/Stations', {controller: 'stations' , action: 'index'}) %> | - <%= link_to('Pricing', {controller: 'main' , action: 'pricing'}) %> | - <%= link_to('Contact', {controller: 'main' , action: 'contact'}) %> | - <%= link_to('Account', {controller: 'main' , action: 'account'}) %> -
diff --git a/app/views/main/pricing.html.erb b/app/views/main/pricing.html.erb index 029a1c7a6..c0c14bd14 100644 --- a/app/views/main/pricing.html.erb +++ b/app/views/main/pricing.html.erb @@ -2,14 +2,6 @@
Pricing Page -
- -
- <%= link_to('Home Page', {controller: 'main' , action: 'index'}) %> | - <%= link_to('Bikes/Stations', {controller: 'stations' , action: 'index'}) %> | - <%= link_to('Pricing', {controller: 'main' , action: 'pricing'}) %> | - <%= link_to('Contact', {controller: 'main' , action: 'contact'}) %> | - <%= link_to('Account', {controller: 'main' , action: 'account'}) %> -
+
diff --git a/config/#database.yml# b/config/#database.yml# deleted file mode 100644 index a3106de18..000000000 --- a/config/#database.yml# +++ /dev/null @@ -1,55 +0,0 @@ -# MySQL. Versions 5.5.8 and up are supported. -# -# Install the MySQL driver -# gem install mysql2 -# -# Ensure the MySQL gem is defined in your Gemfile -# gem "mysql2" -# -# And be sure to use new-style password hashing: -# https://dev.mysql.com/doc/refman/5.7/en/password-hashing.html -# -default: &default - adapter: mysql2 - encoding: utf8mb4 - pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> - username: <%= ENV['root'] || 'root' %> - password: <%= ENV['blueelephant123'] || '' %> - socket: <%= ENV['MYSQL_SOCKET'] || '/tmp/mysql.sock' %> - -development: - <<: *default - database: valetbike_development - -# Warning: The database defined as "test" will be erased and -# re-generated from your development database when you run "rake". -# Do not set this db to the same as development or production. -test: - <<: *default - database: valetbike_test - -# As with config/credentials.yml, you never want to store sensitive information, -# like your database password, in your source code. If your source code is -# ever seen by anyone, they now have access to your database. -# -# Instead, provide the password or a full connection URL as an environment -# variable when you boot the app. For example: -# -# DATABASE_URL="mysql2://myuser:mypass@localhost/somedatabase" -# -# If the connection URL is provided in the special DATABASE_URL environment -# variable, Rails will automatically merge its configuration values on top of -# the values provided in this file. Alternatively, you can specify a connection -# URL environment variable explicitly: -# -# production: -# url: <%= ENV["MY_APP_DATABASE_URL"] %> -# -# Read https://guides.rubyonrails.org/configuring.html#configuring-a-database -# for a full overview on how database connection configuration can be specified. -# -production: - <<: *default - database: valetbike_production - username: valetbike - password: <%= ENV["VALETBIKE"] %> From 49c2f78ff85094e9d072f096ee977174ff71293c Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Sun, 3 Nov 2024 18:22:26 -0500 Subject: [PATCH 34/89] DRY station code --- app/controllers/stations_controller.rb | 1 + app/views/stations/index.html.erb | 10 ---------- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/app/controllers/stations_controller.rb b/app/controllers/stations_controller.rb index 3f9690dd6..35f3a5420 100644 --- a/app/controllers/stations_controller.rb +++ b/app/controllers/stations_controller.rb @@ -1,6 +1,7 @@ class StationsController < ApplicationController def index + layout 'main' @stations = Station.all.order(identifier: :asc) end diff --git a/app/views/stations/index.html.erb b/app/views/stations/index.html.erb index 325e5e980..d87ce059e 100644 --- a/app/views/stations/index.html.erb +++ b/app/views/stations/index.html.erb @@ -1,19 +1,9 @@ - -
Bikes and Stations
-
- <%= link_to('Home Page', {controller: 'main' , action: 'index'}) %> | - <%= link_to('Bikes/Stations', {controller: 'stations' , action: 'index'}) %> | - <%= link_to('Pricing', {controller: 'main' , action: 'pricing'}) %> | - <%= link_to('Contact', {controller: 'main' , action: 'contact'}) %> | - <%= link_to('Account', {controller: 'main' , action: 'account'}) %> -
-
<% if @stations.present? %> <%= render(partial: "stations/row", collection: @stations, as: :station) %> From e9fede15be1b3c2384ceea2e20747d54dd890b35 Mon Sep 17 00:00:00 2001 From: Rey Snyder Date: Sun, 3 Nov 2024 18:36:17 -0500 Subject: [PATCH 35/89] Revert "added new controller ad route" This reverts commit 3d335a82e7cdccd10866836a94ee51fab3d4d4aa. --- app/controllers/stations_controller.rb | 3 --- app/views/stations/_row.html.erb | 2 +- config/routes.rb | 1 - 3 files changed, 1 insertion(+), 5 deletions(-) diff --git a/app/controllers/stations_controller.rb b/app/controllers/stations_controller.rb index 9c619efb2..3f9690dd6 100644 --- a/app/controllers/stations_controller.rb +++ b/app/controllers/stations_controller.rb @@ -3,8 +3,5 @@ class StationsController < ApplicationController def index @stations = Station.all.order(identifier: :asc) end - - def station - end end diff --git a/app/views/stations/_row.html.erb b/app/views/stations/_row.html.erb index adc9a31b2..3634891b3 100644 --- a/app/views/stations/_row.html.erb +++ b/app/views/stations/_row.html.erb @@ -4,6 +4,6 @@ <%= Bike.where(current_station_id: station.identifier).length %> available bikes:
- <%= link_to("Station #{station.identifier}", {controller: 'stations' , action: 'station'}) %> + <%= render(partial: "bikes/row", collection: Bike.where(current_station_id: station.identifier), as: :bike )%>
diff --git a/config/routes.rb b/config/routes.rb index 11910ba66..1275c042f 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,6 +1,5 @@ Rails.application.routes.draw do get 'stations/index' - get 'stations/station' get 'bikes/index' get 'bikes/_row' get 'main/pricing' From eb602fbbe67ba5bdc9f5f7f3e9ec3c0bef92c58c Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Sun, 3 Nov 2024 18:47:06 -0500 Subject: [PATCH 36/89] Fix bike rendering bug --- app/controllers/stations_controller.rb | 2 +- app/views/stations/_row.html.erb | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/controllers/stations_controller.rb b/app/controllers/stations_controller.rb index 35f3a5420..06e6e950b 100644 --- a/app/controllers/stations_controller.rb +++ b/app/controllers/stations_controller.rb @@ -1,7 +1,7 @@ class StationsController < ApplicationController + layout 'main' def index - layout 'main' @stations = Station.all.order(identifier: :asc) end diff --git a/app/views/stations/_row.html.erb b/app/views/stations/_row.html.erb index 3634891b3..79a27db8f 100644 --- a/app/views/stations/_row.html.erb +++ b/app/views/stations/_row.html.erb @@ -1,9 +1,9 @@
flexbox vertical stretch"> <%= station.identifier %>: <%= station.name %> (<%= station.address %>)
- <%= Bike.where(current_station_id: station.identifier).length %> available bikes: + <%= Bike.where(current_station_id: station.id).length %> available bikes:
- <%= render(partial: "bikes/row", collection: Bike.where(current_station_id: station.identifier), as: :bike )%> + <%= render(partial: "bikes/row", collection: Bike.where(current_station_id: station.id), as: :bike )%>
From 798cbd35d94e886125bed7c1ba950a403479f261 Mon Sep 17 00:00:00 2001 From: Rey Snyder Date: Sun, 3 Nov 2024 18:47:18 -0500 Subject: [PATCH 37/89] added .gitignore file --- .gitignore | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index dc811e2de..41bb5e6ad 100644 --- a/.gitignore +++ b/.gitignore @@ -41,4 +41,10 @@ # Ignore Gemfiles Gemfile -Gemfile.lock \ No newline at end of file +Gemfile.lock + +# ignore emacs backup files + +*~ +\#*\# +.idea From ffbc3ea7bf4747cc5e395d954ff53bde59589015 Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Sun, 3 Nov 2024 20:57:10 -0500 Subject: [PATCH 38/89] Add signup and login links to acct page --- app/views/layouts/main.html.erb | 2 +- app/views/main/account.html.erb | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/app/views/layouts/main.html.erb b/app/views/layouts/main.html.erb index a49dea3ce..66c50e0eb 100644 --- a/app/views/layouts/main.html.erb +++ b/app/views/layouts/main.html.erb @@ -18,7 +18,7 @@
<%= link_to('Home Page', {controller: 'main' , action: 'index'}) %> | - <%= link_to('Bikes/Stations', {controller: 'stations' , action: 'index'}) %> | + <%= link_to('Bikes/Stations', {controller: 'stations' , action: 'index'}) %> <%= link_to('Pricing', {controller: 'main' , action: 'pricing'}) %> | <%= link_to('Contact', {controller: 'main' , action: 'contact'}) %> | <%= link_to('Account', {controller: 'main' , action: 'account'}) %> diff --git a/app/views/main/account.html.erb b/app/views/main/account.html.erb index 3f9a20898..b3c259206 100644 --- a/app/views/main/account.html.erb +++ b/app/views/main/account.html.erb @@ -4,5 +4,7 @@
Account Page
+ <%= link_to ''.html_safe, log_in_path %> + <%= link_to ''.html_safe, sign_up_path %>
From 7bbe398f45f472ff75ede9687a4539790fd22d30 Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Sun, 3 Nov 2024 21:20:50 -0500 Subject: [PATCH 39/89] Fix database bug where bikes.current_station_id was populated as null --- app/views/layouts/main.html.erb | 2 +- config/#database.yml# | 55 +++++++++++++++++++++++++++++++++ lib/tasks/load_data.rake | 5 ++- 3 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 config/#database.yml# diff --git a/app/views/layouts/main.html.erb b/app/views/layouts/main.html.erb index 66c50e0eb..a49dea3ce 100644 --- a/app/views/layouts/main.html.erb +++ b/app/views/layouts/main.html.erb @@ -18,7 +18,7 @@
<%= link_to('Home Page', {controller: 'main' , action: 'index'}) %> | - <%= link_to('Bikes/Stations', {controller: 'stations' , action: 'index'}) %> + <%= link_to('Bikes/Stations', {controller: 'stations' , action: 'index'}) %> | <%= link_to('Pricing', {controller: 'main' , action: 'pricing'}) %> | <%= link_to('Contact', {controller: 'main' , action: 'contact'}) %> | <%= link_to('Account', {controller: 'main' , action: 'account'}) %> diff --git a/config/#database.yml# b/config/#database.yml# new file mode 100644 index 000000000..a3106de18 --- /dev/null +++ b/config/#database.yml# @@ -0,0 +1,55 @@ +# MySQL. Versions 5.5.8 and up are supported. +# +# Install the MySQL driver +# gem install mysql2 +# +# Ensure the MySQL gem is defined in your Gemfile +# gem "mysql2" +# +# And be sure to use new-style password hashing: +# https://dev.mysql.com/doc/refman/5.7/en/password-hashing.html +# +default: &default + adapter: mysql2 + encoding: utf8mb4 + pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> + username: <%= ENV['root'] || 'root' %> + password: <%= ENV['blueelephant123'] || '' %> + socket: <%= ENV['MYSQL_SOCKET'] || '/tmp/mysql.sock' %> + +development: + <<: *default + database: valetbike_development + +# Warning: The database defined as "test" will be erased and +# re-generated from your development database when you run "rake". +# Do not set this db to the same as development or production. +test: + <<: *default + database: valetbike_test + +# As with config/credentials.yml, you never want to store sensitive information, +# like your database password, in your source code. If your source code is +# ever seen by anyone, they now have access to your database. +# +# Instead, provide the password or a full connection URL as an environment +# variable when you boot the app. For example: +# +# DATABASE_URL="mysql2://myuser:mypass@localhost/somedatabase" +# +# If the connection URL is provided in the special DATABASE_URL environment +# variable, Rails will automatically merge its configuration values on top of +# the values provided in this file. Alternatively, you can specify a connection +# URL environment variable explicitly: +# +# production: +# url: <%= ENV["MY_APP_DATABASE_URL"] %> +# +# Read https://guides.rubyonrails.org/configuring.html#configuring-a-database +# for a full overview on how database connection configuration can be specified. +# +production: + <<: *default + database: valetbike_production + username: valetbike + password: <%= ENV["VALETBIKE"] %> diff --git a/lib/tasks/load_data.rake b/lib/tasks/load_data.rake index 45528c8ac..0b46da60d 100644 --- a/lib/tasks/load_data.rake +++ b/lib/tasks/load_data.rake @@ -11,7 +11,10 @@ namespace :load_data do desc "Reads the bike data in from the CSV." task :bike => :environment do CSV.foreach('/home/jadelilian/valetbike/notes/bike-data.csv', :headers => true) do |row| #bikes - Bike.create!(identifier: row[0], current_station: Station.find_by(identifier: row[1])) + station = Station.find_by(identifier: row[1]) + bike = Bike.create(identifier: row[0], current_station: station) + bike.current_station_id = station != nil ? station.id : nil + bike.save end end From 7c41e6fb49b9ce49fdf938c534a2d7d0b84c495e Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Sat, 2 Nov 2024 15:06:53 -0400 Subject: [PATCH 40/89] Revert "Should be no changes here but just checking..." This reverts commit 85d5fee25cc702c2352b9d14f9d2bc3cfc741bd3. "Should be no changes here but just checking..." --- .gitignore | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index be8cdace2..dc811e2de 100644 --- a/.gitignore +++ b/.gitignore @@ -41,8 +41,4 @@ # Ignore Gemfiles Gemfile -Gemfile.lock - -# Ignore emacs backups -*~ -#*# \ No newline at end of file +Gemfile.lock \ No newline at end of file From e0b32a644c61829388eba0b85c5c09670666b26a Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Sat, 2 Nov 2024 15:11:18 -0400 Subject: [PATCH 41/89] gitignore emacs backups --- .gitignore | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index dc811e2de..be8cdace2 100644 --- a/.gitignore +++ b/.gitignore @@ -41,4 +41,8 @@ # Ignore Gemfiles Gemfile -Gemfile.lock \ No newline at end of file +Gemfile.lock + +# Ignore emacs backups +*~ +#*# \ No newline at end of file From ba04b46d4beb266618df5106fa330291565a65aa Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Sun, 3 Nov 2024 18:18:54 -0500 Subject: [PATCH 42/89] DRY main views --- config/#database.yml# | 55 ------------------------------------------- 1 file changed, 55 deletions(-) delete mode 100644 config/#database.yml# diff --git a/config/#database.yml# b/config/#database.yml# deleted file mode 100644 index a3106de18..000000000 --- a/config/#database.yml# +++ /dev/null @@ -1,55 +0,0 @@ -# MySQL. Versions 5.5.8 and up are supported. -# -# Install the MySQL driver -# gem install mysql2 -# -# Ensure the MySQL gem is defined in your Gemfile -# gem "mysql2" -# -# And be sure to use new-style password hashing: -# https://dev.mysql.com/doc/refman/5.7/en/password-hashing.html -# -default: &default - adapter: mysql2 - encoding: utf8mb4 - pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> - username: <%= ENV['root'] || 'root' %> - password: <%= ENV['blueelephant123'] || '' %> - socket: <%= ENV['MYSQL_SOCKET'] || '/tmp/mysql.sock' %> - -development: - <<: *default - database: valetbike_development - -# Warning: The database defined as "test" will be erased and -# re-generated from your development database when you run "rake". -# Do not set this db to the same as development or production. -test: - <<: *default - database: valetbike_test - -# As with config/credentials.yml, you never want to store sensitive information, -# like your database password, in your source code. If your source code is -# ever seen by anyone, they now have access to your database. -# -# Instead, provide the password or a full connection URL as an environment -# variable when you boot the app. For example: -# -# DATABASE_URL="mysql2://myuser:mypass@localhost/somedatabase" -# -# If the connection URL is provided in the special DATABASE_URL environment -# variable, Rails will automatically merge its configuration values on top of -# the values provided in this file. Alternatively, you can specify a connection -# URL environment variable explicitly: -# -# production: -# url: <%= ENV["MY_APP_DATABASE_URL"] %> -# -# Read https://guides.rubyonrails.org/configuring.html#configuring-a-database -# for a full overview on how database connection configuration can be specified. -# -production: - <<: *default - database: valetbike_production - username: valetbike - password: <%= ENV["VALETBIKE"] %> From 5d972f275e1b246a6aac59d3564891e70820d13d Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Sun, 3 Nov 2024 18:22:26 -0500 Subject: [PATCH 43/89] DRY station code --- app/controllers/stations_controller.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/app/controllers/stations_controller.rb b/app/controllers/stations_controller.rb index 06e6e950b..9e569d57c 100644 --- a/app/controllers/stations_controller.rb +++ b/app/controllers/stations_controller.rb @@ -2,6 +2,7 @@ class StationsController < ApplicationController layout 'main' def index + layout 'main' @stations = Station.all.order(identifier: :asc) end From c162a4b7375a52928349908d3fa652c3999483ea Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Sun, 3 Nov 2024 18:47:06 -0500 Subject: [PATCH 44/89] Fix bike rendering bug --- app/controllers/stations_controller.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/app/controllers/stations_controller.rb b/app/controllers/stations_controller.rb index 9e569d57c..06e6e950b 100644 --- a/app/controllers/stations_controller.rb +++ b/app/controllers/stations_controller.rb @@ -2,7 +2,6 @@ class StationsController < ApplicationController layout 'main' def index - layout 'main' @stations = Station.all.order(identifier: :asc) end From 0c6a79d371ba4fb3afa3c343944b727609724e39 Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Sun, 3 Nov 2024 20:57:10 -0500 Subject: [PATCH 45/89] Add signup and login links to acct page --- app/views/layouts/main.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/layouts/main.html.erb b/app/views/layouts/main.html.erb index a49dea3ce..66c50e0eb 100644 --- a/app/views/layouts/main.html.erb +++ b/app/views/layouts/main.html.erb @@ -18,7 +18,7 @@
<%= link_to('Home Page', {controller: 'main' , action: 'index'}) %> | - <%= link_to('Bikes/Stations', {controller: 'stations' , action: 'index'}) %> | + <%= link_to('Bikes/Stations', {controller: 'stations' , action: 'index'}) %> <%= link_to('Pricing', {controller: 'main' , action: 'pricing'}) %> | <%= link_to('Contact', {controller: 'main' , action: 'contact'}) %> | <%= link_to('Account', {controller: 'main' , action: 'account'}) %> From 993945d6374425fc9968bb8c0f02f0bd78669d4f Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Sun, 3 Nov 2024 21:20:50 -0500 Subject: [PATCH 46/89] Fix database bug where bikes.current_station_id was populated as null --- app/views/layouts/main.html.erb | 2 +- config/#database.yml# | 55 +++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 config/#database.yml# diff --git a/app/views/layouts/main.html.erb b/app/views/layouts/main.html.erb index 66c50e0eb..a49dea3ce 100644 --- a/app/views/layouts/main.html.erb +++ b/app/views/layouts/main.html.erb @@ -18,7 +18,7 @@
<%= link_to('Home Page', {controller: 'main' , action: 'index'}) %> | - <%= link_to('Bikes/Stations', {controller: 'stations' , action: 'index'}) %> + <%= link_to('Bikes/Stations', {controller: 'stations' , action: 'index'}) %> | <%= link_to('Pricing', {controller: 'main' , action: 'pricing'}) %> | <%= link_to('Contact', {controller: 'main' , action: 'contact'}) %> | <%= link_to('Account', {controller: 'main' , action: 'account'}) %> diff --git a/config/#database.yml# b/config/#database.yml# new file mode 100644 index 000000000..a3106de18 --- /dev/null +++ b/config/#database.yml# @@ -0,0 +1,55 @@ +# MySQL. Versions 5.5.8 and up are supported. +# +# Install the MySQL driver +# gem install mysql2 +# +# Ensure the MySQL gem is defined in your Gemfile +# gem "mysql2" +# +# And be sure to use new-style password hashing: +# https://dev.mysql.com/doc/refman/5.7/en/password-hashing.html +# +default: &default + adapter: mysql2 + encoding: utf8mb4 + pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> + username: <%= ENV['root'] || 'root' %> + password: <%= ENV['blueelephant123'] || '' %> + socket: <%= ENV['MYSQL_SOCKET'] || '/tmp/mysql.sock' %> + +development: + <<: *default + database: valetbike_development + +# Warning: The database defined as "test" will be erased and +# re-generated from your development database when you run "rake". +# Do not set this db to the same as development or production. +test: + <<: *default + database: valetbike_test + +# As with config/credentials.yml, you never want to store sensitive information, +# like your database password, in your source code. If your source code is +# ever seen by anyone, they now have access to your database. +# +# Instead, provide the password or a full connection URL as an environment +# variable when you boot the app. For example: +# +# DATABASE_URL="mysql2://myuser:mypass@localhost/somedatabase" +# +# If the connection URL is provided in the special DATABASE_URL environment +# variable, Rails will automatically merge its configuration values on top of +# the values provided in this file. Alternatively, you can specify a connection +# URL environment variable explicitly: +# +# production: +# url: <%= ENV["MY_APP_DATABASE_URL"] %> +# +# Read https://guides.rubyonrails.org/configuring.html#configuring-a-database +# for a full overview on how database connection configuration can be specified. +# +production: + <<: *default + database: valetbike_production + username: valetbike + password: <%= ENV["VALETBIKE"] %> From e5403a5b1e0900a64bf2c00594774f1a11e5ef78 Mon Sep 17 00:00:00 2001 From: Lynn Do Date: Sun, 3 Nov 2024 23:12:31 -0500 Subject: [PATCH 47/89] Fix migration --- db/migrate/20241031151655_create_users.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/migrate/20241031151655_create_users.rb b/db/migrate/20241031151655_create_users.rb index e9447a538..ca0284b32 100644 --- a/db/migrate/20241031151655_create_users.rb +++ b/db/migrate/20241031151655_create_users.rb @@ -3,7 +3,7 @@ def change create_table :users do |t| t.string :name t.string :email, null: false - t.string :password_digest + # t.string :password_digest t.timestamps end From 0a6cb4ef51a1d4f550a41d9b5a603c9aa2a13507 Mon Sep 17 00:00:00 2001 From: Lynn Do Date: Sun, 3 Nov 2024 23:21:01 -0500 Subject: [PATCH 48/89] Why does Gemfile get deleted? --- Gemfile.lock | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 08e252be5..a30f3e029 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -91,15 +91,17 @@ GEM xpath (~> 3.2) concurrent-ruby (1.3.4) crass (1.0.6) + date (3.4.0) debug (1.6.2) irb (>= 1.3.6) reline (>= 0.3.1) - digest (3.1.0) dotenv (2.8.1) dotenv-rails (2.8.1) dotenv (= 2.8.1) railties (>= 3.2) erubi (1.11.0) + execjs (2.10.0) + ffi (1.17.0-x86_64-darwin) globalid (1.0.0) activesupport (>= 5.0) i18n (1.12.0) @@ -144,12 +146,11 @@ GEM net-smtp (0.5.0) net-protocol nio4r (2.7.4) - nokogiri (1.16.7-arm64-darwin) - racc (~> 1.4) nokogiri (1.16.7-x86_64-darwin) racc (~> 1.4) - nokogiri (1.13.8-x86_64-linux) - racc (~> 1.4) + popper_js (1.16.1) + psych (5.1.2) + stringio public_suffix (5.0.0) puma (5.6.5) nio4r (~> 2.0) @@ -222,14 +223,11 @@ GEM sprockets (>= 3.0.0) stimulus-rails (1.3.4) railties (>= 6.0.0) - strscan (3.0.4) - tailwindcss-rails (2.0.12-arm64-darwin) - railties (>= 6.0.0) + stringio (3.1.1) tailwindcss-rails (2.0.12-x86_64-darwin) railties (>= 6.0.0) - tailwindcss-rails (2.0.12-x86_64-linux) - railties (>= 6.0.0) thor (1.2.1) + tilt (2.4.0) timeout (0.3.0) turbo-rails (1.1.1) actionpack (>= 6.0.0) @@ -254,9 +252,7 @@ GEM zeitwerk (2.6.18) PLATFORMS - arm64-darwin-20 x86_64-darwin-23 - x86_64-linux DEPENDENCIES bcrypt (~> 3.1.7) From f6ced51d09a0c42cf0e1ae059e4592e4e95e6f23 Mon Sep 17 00:00:00 2001 From: Rey Snyder Date: Mon, 4 Nov 2024 13:28:59 -0500 Subject: [PATCH 49/89] fixed bug in load_data --- lib/tasks/load_data.rake | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/tasks/load_data.rake b/lib/tasks/load_data.rake index 0b46da60d..d774c2929 100644 --- a/lib/tasks/load_data.rake +++ b/lib/tasks/load_data.rake @@ -3,18 +3,20 @@ namespace :load_data do desc "Reads the station data in from the CSV." task :station => :environment do - CSV.foreach('/home/jadelilian/valetbike/notes/station-data.csv', :headers => true) do |row| #stations + CSV.foreach('notes/station-data.csv', :headers => true) do |row| #stations Station.create!(identifier: row[0], name: row[1], address: row[6]) end end desc "Reads the bike data in from the CSV." task :bike => :environment do - CSV.foreach('/home/jadelilian/valetbike/notes/bike-data.csv', :headers => true) do |row| #bikes + + CSV.foreach('notes/bike-data.csv', :headers => true) do |row| #bikes station = Station.find_by(identifier: row[1]) bike = Bike.create(identifier: row[0], current_station: station) bike.current_station_id = station != nil ? station.id : nil bike.save + end end From 5afaf987ff74e8db3d97bc416ebcbb883f208de9 Mon Sep 17 00:00:00 2001 From: Katherine Vogt Date: Thu, 7 Nov 2024 16:40:17 -0500 Subject: [PATCH 50/89] schema.rb modified with migrations --- Gemfile | 10 ++-- Gemfile.lock | 150 +++++++++++++++++++++------------------------------ db/schema.rb | 1 - 3 files changed, 65 insertions(+), 96 deletions(-) diff --git a/Gemfile b/Gemfile index ed3a92b2b..ef93a68ef 100644 --- a/Gemfile +++ b/Gemfile @@ -34,10 +34,10 @@ gem "jbuilder" gem "redis", "~> 4.0" # Use Kredis to get higher-level data types in Redis [https://github.com/rails/kredis] -gem "kredis" +# gem "kredis" # Use Active Model has_secure_password [https://guides.rubyonrails.org/active_model_basics.html#securepassword] -gem "bcrypt", "~> 3.1.7" +# gem "bcrypt", "~> 3.1.7" # Windows does not include zoneinfo files, so bundle the tzinfo-data gem gem "tzinfo-data", platforms: %i[ mingw mswin x64_mingw jruby ] @@ -45,11 +45,11 @@ gem "tzinfo-data", platforms: %i[ mingw mswin x64_mingw jruby ] # Reduces boot times through caching; required in config/boot.rb gem "bootsnap", require: false -# Boostrap +# Bootstrap? gem 'bootstrap', '~> 4.1.1' # Use Sass to process CSS -gem "sass-rails", '~> 5.0' +# gem "sassc-rails" # Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images] # gem "image_processing", "~> 1.2" @@ -86,5 +86,3 @@ gem 'dotenv-rails' # gem 'paperclip # gem 'uniquify' # gem 'will_paginate' - -gem "nio4r", "~> 2.5" diff --git a/Gemfile.lock b/Gemfile.lock index 7a7bded4e..82da05356 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,67 +1,67 @@ GEM remote: https://rubygems.org/ specs: - actioncable (7.0.8.6) - actionpack (= 7.0.8.6) - activesupport (= 7.0.8.6) + actioncable (7.0.8.5) + actionpack (= 7.0.8.5) + activesupport (= 7.0.8.5) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (7.0.8.6) - actionpack (= 7.0.8.6) - activejob (= 7.0.8.6) - activerecord (= 7.0.8.6) - activestorage (= 7.0.8.6) - activesupport (= 7.0.8.6) + actionmailbox (7.0.8.5) + actionpack (= 7.0.8.5) + activejob (= 7.0.8.5) + activerecord (= 7.0.8.5) + activestorage (= 7.0.8.5) + activesupport (= 7.0.8.5) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.0.8.6) - actionpack (= 7.0.8.6) - actionview (= 7.0.8.6) - activejob (= 7.0.8.6) - activesupport (= 7.0.8.6) + actionmailer (7.0.8.5) + actionpack (= 7.0.8.5) + actionview (= 7.0.8.5) + activejob (= 7.0.8.5) + activesupport (= 7.0.8.5) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.0) - actionpack (7.0.8.6) - actionview (= 7.0.8.6) - activesupport (= 7.0.8.6) + actionpack (7.0.8.5) + actionview (= 7.0.8.5) + activesupport (= 7.0.8.5) rack (~> 2.0, >= 2.2.4) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (7.0.8.6) - actionpack (= 7.0.8.6) - activerecord (= 7.0.8.6) - activestorage (= 7.0.8.6) - activesupport (= 7.0.8.6) + actiontext (7.0.8.5) + actionpack (= 7.0.8.5) + activerecord (= 7.0.8.5) + activestorage (= 7.0.8.5) + activesupport (= 7.0.8.5) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.0.8.6) - activesupport (= 7.0.8.6) + actionview (7.0.8.5) + activesupport (= 7.0.8.5) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (7.0.8.6) - activesupport (= 7.0.8.6) + activejob (7.0.8.5) + activesupport (= 7.0.8.5) globalid (>= 0.3.6) - activemodel (7.0.8.6) - activesupport (= 7.0.8.6) - activerecord (7.0.8.6) - activemodel (= 7.0.8.6) - activesupport (= 7.0.8.6) - activestorage (7.0.8.6) - actionpack (= 7.0.8.6) - activejob (= 7.0.8.6) - activerecord (= 7.0.8.6) - activesupport (= 7.0.8.6) + activemodel (7.0.8.5) + activesupport (= 7.0.8.5) + activerecord (7.0.8.5) + activemodel (= 7.0.8.5) + activesupport (= 7.0.8.5) + activestorage (7.0.8.5) + actionpack (= 7.0.8.5) + activejob (= 7.0.8.5) + activerecord (= 7.0.8.5) + activesupport (= 7.0.8.5) marcel (~> 1.0) mini_mime (>= 1.1.0) - activesupport (7.0.8.6) + activesupport (7.0.8.5) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) @@ -70,8 +70,6 @@ GEM public_suffix (>= 2.0.2, < 7.0) autoprefixer-rails (10.4.19.0) execjs (~> 2) - base64 (0.2.0) - bcrypt (3.1.20) bindex (0.8.1) bootsnap (1.18.4) msgpack (~> 1.2) @@ -91,7 +89,7 @@ GEM xpath (~> 3.2) concurrent-ruby (1.3.4) crass (1.0.6) - date (3.4.0) + date (3.3.4) debug (1.9.2) irb (~> 1.10) reline (>= 0.3.8) @@ -101,9 +99,7 @@ GEM railties (>= 6.1) erubi (1.13.0) execjs (2.10.0) - ffi (1.17.0) ffi (1.17.0-arm64-darwin) - ffi (1.17.0-x86_64-darwin) globalid (1.2.1) activesupport (>= 6.1) i18n (1.14.6) @@ -119,11 +115,7 @@ GEM jbuilder (2.13.0) actionview (>= 5.0.0) activesupport (>= 5.0.0) - kredis (1.7.0) - activemodel (>= 6.0.0) - activesupport (>= 6.0.0) - redis (>= 4.2, < 6) - loofah (2.23.1) + loofah (2.22.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) mail (2.8.1) @@ -137,7 +129,7 @@ GEM mini_mime (1.1.5) minitest (5.25.1) msgpack (1.7.3) - mysql2 (0.5.6) + mysql2 (0.5.4) net-imap (0.5.0) date net-protocol @@ -147,13 +139,9 @@ GEM timeout net-smtp (0.5.0) net-protocol - nio4r (2.7.4) + nio4r (2.7.3) nokogiri (1.16.7-arm64-darwin) racc (~> 1.4) - nokogiri (1.16.7-x86_64-darwin) - racc (~> 1.4) - nokogiri (1.16.7-x86_64-linux) - racc (~> 1.4) popper_js (1.16.1) psych (5.1.2) stringio @@ -164,20 +152,20 @@ GEM rack (2.2.10) rack-test (2.1.0) rack (>= 1.3) - rails (7.0.8.6) - actioncable (= 7.0.8.6) - actionmailbox (= 7.0.8.6) - actionmailer (= 7.0.8.6) - actionpack (= 7.0.8.6) - actiontext (= 7.0.8.6) - actionview (= 7.0.8.6) - activejob (= 7.0.8.6) - activemodel (= 7.0.8.6) - activerecord (= 7.0.8.6) - activestorage (= 7.0.8.6) - activesupport (= 7.0.8.6) + rails (7.0.8.5) + actioncable (= 7.0.8.5) + actionmailbox (= 7.0.8.5) + actionmailer (= 7.0.8.5) + actionpack (= 7.0.8.5) + actiontext (= 7.0.8.5) + actionview (= 7.0.8.5) + activejob (= 7.0.8.5) + activemodel (= 7.0.8.5) + activerecord (= 7.0.8.5) + activestorage (= 7.0.8.5) + activesupport (= 7.0.8.5) bundler (>= 1.15.0) - railties (= 7.0.8.6) + railties (= 7.0.8.5) rails-dom-testing (2.2.0) activesupport (>= 5.0.0) minitest @@ -185,9 +173,9 @@ GEM rails-html-sanitizer (1.6.0) loofah (~> 2.21) nokogiri (~> 1.14) - railties (7.0.8.6) - actionpack (= 7.0.8.6) - activesupport (= 7.0.8.6) + railties (7.0.8.5) + actionpack (= 7.0.8.5) + activesupport (= 7.0.8.5) method_source rake (>= 12.2) thor (~> 1.0) @@ -202,27 +190,20 @@ GEM regexp_parser (2.9.2) reline (0.5.10) io-console (~> 0.5) - rexml (3.3.9) + rexml (3.3.8) rubyzip (2.3.2) sass (3.7.4) sass-listen (~> 4.0.0) sass-listen (4.0.0) rb-fsevent (~> 0.9, >= 0.9.4) rb-inotify (~> 0.9, >= 0.9.7) - sass-rails (5.1.0) - railties (>= 5.2.0) - sass (~> 3.1) - sprockets (>= 2.8, < 4.0) - sprockets-rails (>= 2.0, < 4.0) - tilt (>= 1.1, < 3) selenium-webdriver (4.10.0) rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) websocket (~> 1.0) - sprockets (3.7.5) - base64 + sprockets (4.2.1) concurrent-ruby (~> 1.0) - rack (> 1, < 3) + rack (>= 2.2.4, < 4) sprockets-rails (3.5.2) actionpack (>= 6.1) activesupport (>= 6.1) @@ -234,10 +215,7 @@ GEM railties (>= 7.0.0) tailwindcss-ruby tailwindcss-ruby (3.4.14-arm64-darwin) - tailwindcss-ruby (3.4.14-x86_64-darwin) - tailwindcss-ruby (3.4.14-x86_64-linux) thor (1.3.2) - tilt (2.4.0) timeout (0.4.1) turbo-rails (2.0.11) actionpack (>= 6.0.0) @@ -262,12 +240,9 @@ GEM zeitwerk (2.6.18) PLATFORMS - arm64-darwin - x86_64-darwin - x86_64-linux + arm64-darwin-23 DEPENDENCIES - bcrypt (~> 3.1.7) bootsnap bootstrap (~> 4.1.1) capybara @@ -275,13 +250,10 @@ DEPENDENCIES dotenv-rails importmap-rails jbuilder - kredis mysql2 (~> 0.5) - nio4r (~> 2.5) puma (~> 5.0) rails (~> 7.0.3, >= 7.0.3.1) redis (~> 4.0) - sass-rails (~> 5.0) selenium-webdriver sprockets-rails stimulus-rails diff --git a/db/schema.rb b/db/schema.rb index 8b3dfde81..79e1dc67c 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -29,7 +29,6 @@ create_table "users", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t| t.string "name" t.string "email", null: false - t.string "password" t.datetime "created_at", null: false t.datetime "updated_at", null: false t.string "password_digest" From 0fd564b3505fed9674537b9091c2570d7d7690da Mon Sep 17 00:00:00 2001 From: Rey Snyder Date: Sun, 10 Nov 2024 12:36:52 -0500 Subject: [PATCH 51/89] Added resourceful routes, and edited the station and bike controller so that each station links to a page with a list of it's bikes. --- app/views/stations/{station.html.erb => show.html.erb} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename app/views/stations/{station.html.erb => show.html.erb} (100%) diff --git a/app/views/stations/station.html.erb b/app/views/stations/show.html.erb similarity index 100% rename from app/views/stations/station.html.erb rename to app/views/stations/show.html.erb From 49bac7cddc4c97965bf0f2a58d9c4efed5723bf4 Mon Sep 17 00:00:00 2001 From: Rey Snyder Date: Sun, 10 Nov 2024 12:39:05 -0500 Subject: [PATCH 52/89] see last commit message (I forgot to add my files in!) --- app/controllers/bikes_controller.rb | 7 +++++++ app/controllers/stations_controller.rb | 4 ++++ app/views/stations/_row.html.erb | 7 ++++--- app/views/stations/show.html.erb | 7 +++++-- config/routes.rb | 11 +++++++++-- git-diagnostics-2024-11-03-0121.zip | Bin 0 -> 1242 bytes 6 files changed, 29 insertions(+), 7 deletions(-) create mode 100644 git-diagnostics-2024-11-03-0121.zip diff --git a/app/controllers/bikes_controller.rb b/app/controllers/bikes_controller.rb index cb424173b..0e06c4372 100644 --- a/app/controllers/bikes_controller.rb +++ b/app/controllers/bikes_controller.rb @@ -4,4 +4,11 @@ def _row @bikes = Bike.all.order(identifier: :asc) end + def index + end + + def show + @bike = Bike.find(params[:id]) + end + end diff --git a/app/controllers/stations_controller.rb b/app/controllers/stations_controller.rb index 06e6e950b..67d8891f0 100644 --- a/app/controllers/stations_controller.rb +++ b/app/controllers/stations_controller.rb @@ -4,5 +4,9 @@ class StationsController < ApplicationController def index @stations = Station.all.order(identifier: :asc) end + + def show + @station = Station.find(params[:id]) + end end diff --git a/app/views/stations/_row.html.erb b/app/views/stations/_row.html.erb index 79a27db8f..5fbb547c1 100644 --- a/app/views/stations/_row.html.erb +++ b/app/views/stations/_row.html.erb @@ -1,9 +1,10 @@
flexbox vertical stretch"> - <%= station.identifier %>: <%= station.name %> (<%= station.address %>) + Station <%= station.identifier %>: <%= station.name %> (<%= station.address %>)
- <%= Bike.where(current_station_id: station.id).length %> available bikes: + <%= Bike.where(current_station_id: station.id).length %> available bikes
- <%= render(partial: "bikes/row", collection: Bike.where(current_station_id: station.id), as: :bike )%> + <%= link_to('More Details', station_path(station), class: 'action :show') %> + <%#= render(partial: "bikes/row", collection: Bike.where(current_station_id: station.id), as: :bike )%>
diff --git a/app/views/stations/show.html.erb b/app/views/stations/show.html.erb index fd99dcec9..cadd4cd0b 100644 --- a/app/views/stations/show.html.erb +++ b/app/views/stations/show.html.erb @@ -1,4 +1,7 @@ -Info for <%= station.identifier %>: <%= station.name %> (<%= station.address %>) +<%= link_to('< Back to Stations', {controller: 'stations', action: 'index'}) %>
+ +Info for Station: <%= @station.identifier %>: <%= @station.name %> (<%= @station.address %>)
- <%= render(partial: "bikes/row", collection: Bike.where(current_station_id: station.identifier), as: :bike )%> + <%= Bike.where(current_station_id: @station.id).length %> available bikes: + <%= render(partial: "bikes/row", collection: Bike.where(current_station_id: @station.id), as: :bike )%>
\ No newline at end of file diff --git a/config/routes.rb b/config/routes.rb index 1275c042f..d31950537 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -5,8 +5,15 @@ get 'main/pricing' get 'main/account' get 'main/contact' - - get "sign-up", to: "user#new" + + # resources :bikes + # resources :stations + resources :stations, only: [:index, :show] do + resources :bikes, only: [:index, :show] + end + + + get "sign-up", to: "user#new" post "sign-up", to: "user#create" get "log-in", to: "access#login" diff --git a/git-diagnostics-2024-11-03-0121.zip b/git-diagnostics-2024-11-03-0121.zip new file mode 100644 index 0000000000000000000000000000000000000000..04c89ce3ad16dfde9cfe414bd9081af3e52d33c4 GIT binary patch literal 1242 zcmWIWW@h1HU|`^2Sjd$e*&_O`&PT+^@P#i!wy)1%&Mtfts^VM=cJwPS0e`KLRVzlsu;l+pKYTf|k}Vk`6S$=W$z$_Ap*TZD9QBG5^Ko zta<0BHOVqHt+}T7M7;d}huv>JeF!N}{mrqyq-A&O_7w)KuUTJt*XGwT1fYb_1haxI zIlvH7f`(8*Vsdt|Zccu3Vvb%(MF~8Frk*><+ibwo`p`N!g)t*X=JA(Xo-yhnBAp5y ztNP+gn>xz>eSK+rD(rKZe|Vbto@rIu=gYTM-P;|T`}VnrgvV6f))(qYqGDVbmWq|G zy+#KmaxFd`H*I(Lx9InJX{`qyhs5uy*3K?h+~Dz@8P$dUsz18F09|*Fn}ID^u zS*gh-*xZ;q%{T83(2d_MTm1sOxBau3{zA>NK_~F!61JEdZVh+#xmq*p+nq~ea9ScK zFF*fJ@y{t$v&!!O|CjrFyXCnexn=pgCGYXw>`&DH>U=Hvht}#jr~gjh^L~H3{QK|4 zH~u}9+dlopnX`ZXTV8&@T1G$7EkjOlljy=3k=lwTx;}6A1kR{vl$gKpK$MHUV3xv_ z%A^yU_o#BrGVQU3&i)B=o_fuZTj;jWi*=n-jPApb&3ghXRvCwI zG+mC95?0PviPzn{(7W}Y;3U@NT2G^ICO_|;8(`gj&2pjF(<@C;PA5zCe4a1kd>)}} zqL_1{xNqLmxrbLSx$-FEa!Y{P_nCM4W1jdJTB=ob)hwCe#y+zmXokh{Bbog&xhk#G z0@NRIx#Xv}I33PV|5Y2}Gvx&{Z(5RbqZW@>zvLP>r>%X8MuMWn>c3{DiHbU>IZsRK zlG~bg^vAlWhndbIKNm^JXN#_L3g(&VBXac4RB2J?W#VRiWe<}hM4ZDM0$Qg&7C8E2 zip#nt0T=ZSzeTP5uIlk~YeJ)<)Hxn@b$vQikf^ouyUzR@i`C=%o(elw{95%`c*0Ju zxWag;p2uBjr_AF!{nYb1P=G7{qnm=BD?r*IrhxJZt~`Qn3VO;#m~sSY X3hs0q;LXYgQp*g4SAg^fW)Kem^YY?J literal 0 HcmV?d00001 From 7872ae53716a79b30689cdfcb7ee2c639fa51edf Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Sun, 10 Nov 2024 12:58:28 -0500 Subject: [PATCH 53/89] nest layouts to DRY code --- app/views/layouts/application.html.erb | 3 +- app/views/layouts/main.html.erb | 44 ++++++++------------------ 2 files changed, 15 insertions(+), 32 deletions(-) diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 48438f76c..c5e6f207c 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -15,7 +15,8 @@
- <%= yield %> + <%= yield :menu %> + <%= content_for(:content) ? yield(:content) : yield %>
diff --git a/app/views/layouts/main.html.erb b/app/views/layouts/main.html.erb index a49dea3ce..5fd724889 100644 --- a/app/views/layouts/main.html.erb +++ b/app/views/layouts/main.html.erb @@ -1,31 +1,13 @@ - - - - - - <%= csrf_meta_tags %> - <%= csp_meta_tag %> - <%= stylesheet_link_tag "tailwind", "inter-font", "data-turbo-track": "reload" %> - <%= stylesheet_link_tag "application", "data-turbo-track": "reload" %> - <%= javascript_importmap_tags %> - - <%= favicon_link_tag asset_path('favicon.ico') %> - ValetBike - - -
-
- -
- <%= link_to('Home Page', {controller: 'main' , action: 'index'}) %> | - <%= link_to('Bikes/Stations', {controller: 'stations' , action: 'index'}) %> | - <%= link_to('Pricing', {controller: 'main' , action: 'pricing'}) %> | - <%= link_to('Contact', {controller: 'main' , action: 'contact'}) %> | - <%= link_to('Account', {controller: 'main' , action: 'account'}) %> -
- - <%= yield %> -
-
- - +<% content_for :menu do %> +
+ <%= link_to('Home Page', {controller: 'main' , action: 'index'}) %> | + <%= link_to('Bikes/Stations', {controller: 'stations' , action: 'index'}) %> | + <%= link_to('Pricing', {controller: 'main' , action: 'pricing'}) %> | + <%= link_to('Contact', {controller: 'main' , action: 'contact'}) %> | + <%= link_to('Account', {controller: 'main' , action: 'account'}) %> +
+<% end %> +<% content_for :content do %> + <%= yield %> +<% end %> +<%= render template: "layouts/application" %> From 0a5f3f5d0ca05a7ab2008ce799b029d651154376 Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Sun, 10 Nov 2024 13:55:17 -0500 Subject: [PATCH 54/89] Embed simple map to valleybike stations --- app/views/stations/index.html.erb | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/app/views/stations/index.html.erb b/app/views/stations/index.html.erb index d87ce059e..2e231d8dd 100644 --- a/app/views/stations/index.html.erb +++ b/app/views/stations/index.html.erb @@ -3,6 +3,15 @@
Bikes and Stations
+ +
+
+ +
+ Internet Provider + +
<% if @stations.present? %> From b65b2cc6541f69fdff2b1d83e2a417b0f71d8d0c Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Sun, 10 Nov 2024 16:03:08 -0500 Subject: [PATCH 55/89] Create scripts to initialize and mark maps --- app/controllers/stations_controller.rb | 3 +- app/javascript/osm_map.js | 52 +++++++++++++++++++++++ app/views/layouts/application.html.erb | 5 +++ app/views/stations/index.html.erb | 57 ++++++++++++++++---------- 4 files changed, 94 insertions(+), 23 deletions(-) create mode 100644 app/javascript/osm_map.js diff --git a/app/controllers/stations_controller.rb b/app/controllers/stations_controller.rb index 06e6e950b..88090af16 100644 --- a/app/controllers/stations_controller.rb +++ b/app/controllers/stations_controller.rb @@ -1,6 +1,5 @@ class StationsController < ApplicationController - layout 'main' - + def index @stations = Station.all.order(identifier: :asc) end diff --git a/app/javascript/osm_map.js b/app/javascript/osm_map.js new file mode 100644 index 000000000..a66cab5b2 --- /dev/null +++ b/app/javascript/osm_map.js @@ -0,0 +1,52 @@ +/* +Base for this code pulled from https://stackoverflow.com/questions/925164/openstreetmap-embedding-map-in-webpage-like-google-maps +Answer by user totymedli +*/ + +const northamptonLat = '42.328674'; // what it says on the tag +const northamptonLng = '-72.664658'; // rough center of northampton + +/* +initializes the map for future use +TODO + - figure out the tiling thing and how to get an actual image rendered +*/ +function mapInit(){ + // Where you want to render the map. + var element = document.getElementById("osm-map"); + + // Create Leaflet map on map element. + var map = L.map(element); + + // Add OSM tile layer to the Leaflet map. + L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', { + attribution: '© OpenStreetMap contributors' + }).addTo(map); + + // Target's GPS coordinates. + var target = L.latLng(northamptonLat, northamptonLng); + + // Set map's center to target with zoom 14. + map.setView(target, 14); // consider changing zoom + + // Place a marker on the location. + L.marker(target).addTo(map); + + document.element.map = map; +} + +/* +adds a marker to the leaflet +TODO + - hoping that the map var is getting set correctly + - add a popup to the marker to link to the station page +*/ +function addMarker(lat, lng) { + var map = document.getElementById('osm-map').map; + + // Target's GPS coordinates. + var target = L.latLng(lat, lng); + + // Place a marker on the location. + L.marker(target).addTo(map); +} \ No newline at end of file diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index c5e6f207c..d797a012a 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -10,9 +10,14 @@ <%= javascript_importmap_tags %> <%= favicon_link_tag asset_path('favicon.ico') %> + <%= yield :head %> ValetBike + <% if content_for(:loader) do %> + <%= yield :loader %> + <% else %> + <% end %>
<%= yield :menu %> diff --git a/app/views/stations/index.html.erb b/app/views/stations/index.html.erb index 2e231d8dd..eec81621f 100644 --- a/app/views/stations/index.html.erb +++ b/app/views/stations/index.html.erb @@ -1,26 +1,41 @@ -
-
-
- Bikes and Stations -
- -
-
- +<% content_for :head do %> + + + +<% end %> + +<% content_for :content do %> +
+
+
+ Bikes and Stations +
+ +
+ +
+
+ +
+ Internet Provider +
- Internet Provider - -
-
- <% if @stations.present? %> - <%= render(partial: "stations/row", collection: @stations, as: :station) %> - <% else %> -
- No stations found. +
+ <% if @stations.present? %> + <%= render(partial: "stations/row", collection: @stations, as: :station) %> + <% else %> +
+ No stations found. +
+ <% end %>
- <% end %>
-
+<% end %> +<%= render template: "layouts/main" %> From 9c0808426e9e6b1d656c6cd87a65159214bf8069 Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Sun, 10 Nov 2024 16:13:27 -0500 Subject: [PATCH 56/89] tried to use onload or execute function directly from html failed --- app/views/layouts/application.html.erb | 4 ---- app/views/stations/index.html.erb | 5 +++-- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index d797a012a..32d833f58 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -13,11 +13,7 @@ <%= yield :head %> ValetBike - <% if content_for(:loader) do %> - <%= yield :loader %> - <% else %> - <% end %>
<%= yield :menu %> diff --git a/app/views/stations/index.html.erb b/app/views/stations/index.html.erb index eec81621f..e870e8a25 100644 --- a/app/views/stations/index.html.erb +++ b/app/views/stations/index.html.erb @@ -5,7 +5,7 @@ - + <% end %> <% content_for :content do %> @@ -15,7 +15,7 @@ Bikes and Stations
-
+
@@ -37,5 +37,6 @@
+ mapInit() <% end %> <%= render template: "layouts/main" %> From 3fc7fd2d70df91d7bd9760ae1cb0af4cff8748b6 Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Sun, 10 Nov 2024 16:28:13 -0500 Subject: [PATCH 57/89] map working with script embedded in erb file --- app/views/stations/index.html.erb | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/app/views/stations/index.html.erb b/app/views/stations/index.html.erb index e870e8a25..a4bd390ca 100644 --- a/app/views/stations/index.html.erb +++ b/app/views/stations/index.html.erb @@ -5,7 +5,7 @@ - + <% end %> <% content_for :content do %> @@ -15,16 +15,18 @@ Bikes and Stations
-
- -
-
- -
- Internet Provider - -
+
+ +
<% if @stations.present? %> @@ -37,6 +39,5 @@
- mapInit() <% end %> <%= render template: "layouts/main" %> From d91460a0be0e0c9f6bad41238d96ae388ff0dcb4 Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Sun, 10 Nov 2024 16:59:12 -0500 Subject: [PATCH 58/89] prepare even more nightmarish js usage until i can get my imports right --- app/views/stations/index.html.erb | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/app/views/stations/index.html.erb b/app/views/stations/index.html.erb index a4bd390ca..e4ebd17f7 100644 --- a/app/views/stations/index.html.erb +++ b/app/views/stations/index.html.erb @@ -6,6 +6,15 @@ integrity="sha256-20nQCchB9co0qIjJZRGuk2/Z9VM+kNiyxNV1lvTlZBo=" crossorigin=""> + <% end %> <% content_for :content do %> From 8ce7357ceafe472fdbecf468e6dec58b95a33b1c Mon Sep 17 00:00:00 2001 From: Rey Snyder Date: Sun, 10 Nov 2024 20:42:55 -0500 Subject: [PATCH 59/89] added new model (trip), added is_available column for bikes (and displayed the availability of each bike) also I changed the favicon. --- app/assets/images/favicon.ico | Bin 4286 -> 4414 bytes app/models/trip.rb | 3 +++ app/models/user.rb | 1 + app/views/bikes/_row.html.erb | 7 ++++++- .../20241110203104_add_availablility.rb | 5 +++++ db/migrate/20241110210524_create_trips.rb | 13 +++++++++++++ db/schema.rb | 13 ++++++++++++- public/favicon.ico | Bin 4286 -> 4414 bytes test/fixtures/trips.yml | 15 +++++++++++++++ test/models/trip_test.rb | 7 +++++++ 10 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 app/models/trip.rb create mode 100644 db/migrate/20241110203104_add_availablility.rb create mode 100644 db/migrate/20241110210524_create_trips.rb create mode 100644 test/fixtures/trips.yml create mode 100644 test/models/trip_test.rb diff --git a/app/assets/images/favicon.ico b/app/assets/images/favicon.ico index d68c084e2e49d404eb7abab25926f8d39af8237c..860d7afffd324f08e2445daf36a28fc16370cd6d 100644 GIT binary patch literal 4414 zcmeHKX>1f#93MGEgGLm@E0G#6^aCC-(L@tTP>G3}XatS%2u7^g`cJ+kMCU6zh9fmzCC< zS5bcZym{k=>3oJk9As%32JqHR6_eSgSC zSLDq`k+z0#-Q-E&sG#VYuWI^8KKGSFM6_+t_ZnpN%4SdG4a&+!vRv_9mG_~>(!!lGlY0{u@K*OC#OmF62JR=Xou(N?Ra#TN2__j|}o zVO>Bt_zz2Sy~aUjHD&d9>U!8a5Yg{||IQ^mIpDh%$*qz>%(7$NLmcTaCupBXzJ!k1 zl3OjO8!ds%#-t3*13LI+o7Ux+gN01(%)m8U=_kPVRMIEUfva|s4mv(c!nNG!?(o~k zng%hCX{344B>GvJnQ3dlQF*Ns>cEU5q?`9`@?tZ=E%A= zwDTl$s5`5!@m=#7<}CS&nc7QD^SG9r^nB`sj}Cz6blIyD-?MJj zG|uZ6G2e8YnpTshA2fYfdr2F(Y35@Y=MwLVeFyn^Gu91dPvd;QK6M#k9Jtqf#4pc! z2qA`n{JVv;kTD4UBIDJQN#994>jHZAM0Y&~AMEgLa|dWYp>CXM&o0`~OS>J_MZR)_ zIRmiMpc~+xFb?{`j znWbSY)So?e&2_|cK*kHQwF&xCbN5zPPlVoMvJtW!)eQd~!uez&qaIo_dIMJvr-=Qt0n5fd4Yg zYx59tb^~pPj0L0vZadE<*Ssr=-6?6cX~TDzCvexpq$93mn~w%gx--(fFYZ5K4^UmQ z3B3Y*mno;KK;)4fUgU4 zH}w9>oT3ic{#)6$sz@K#MpQrBAir1lFZN&1_aV-(=Nr};_}zaqo@LMs0-lU!M1^r7{;H7S79H9&S z&+MlitbO*Bp%r`PDf9-2Sy)@>Tjb~aiR)Mgbth?&*B^%UQa4vxtqYj%1#9WFf@KX& z_BQnI%jsL#Xp^4#LOH@WOZ1&j${lVW>n^zJM)>a~o!9z1k+z4U9}b3?{|rC$p;y0* z@4%e+O;VX}mAtX;s18r?EyDf|I~eztUf4ugI^V+_VZO#wf8X+UO%?nC8ysWL4E29EvF(z$-Cgrv*5S;de9HCE)V;^lCkje zEkjwpryjt)U*R_Z>x+1cRr5{2_$GCYWlvf7E_@!>e(dM5@ctVb{nlY$;;hL1I2T5f h8}stJ#~J@mG8*4-_#u1b%nCz+VSz4AlSt literal 4286 zcmeH{e@vBC7{?EgT{qWmR&%r{FsfNwt@VeiwvyUv+0XTl8)TT}X5?lr(^aIR5lO9G z%wN@ zp65Bw^PFQ$8o!(zqkpsId}AgVW2OKilLwM}A9K0arAP_J{>LKl|A|1Npu#{pOoSY` z6efV=|JqTv-rp-7(j}eJJxq^ekO4QrTKE=@LJRDJVvvqe{c!XC+Tuih?8`&>u_QFp zuR|`~vLRcZA8KJdEP_t>4QgR4d<2K!FZdqrf)Raia(~TtiGo!FjkDjdtwojg@DrPD z^PCN~e&%ZyKRQ?=Te2x#ipfIghZ?vSq9D2aycp&~8?-_mgnV%0)Lg73IcuHmShU0T zlAD{E|D`9a%TcEENO@ACX$oovabY)pf8I0#q5nRGwE+;P|g%H?1l)%Rt)8y;R` zyPn%=`(Cc~?8^2a$WE@jc(SKAXy zzX+YZ_oc7wuVwo~K55+a*ap?Y5%yd75WJf7^<6~!HK^|X1le?G{eVwBt!gqIU0af~ z*4v&Jsspxatm4u7_}gJ0sEO91O_qBhowD%>j01O;2>l(PSib`Ed|ssOgZ;1!l*7ZI z*jK9Vl;6H`a!;JQm&a{G;TqdA_bsb9xH{;SeSE@a)!|Q|b7X_FueJ!}+nj)0HK=$z z@5_{*7LXrx^$)EI)n40z_Z2JK`Ru2mob;4d+s4_i%l;3{mx6RIhM;}rR<*Gm&IRR1 z^>PyQhPbtN&`*H$ajr`5tja_3k@a4!hx1=+k1gCTzjQX)o(y_#et{X_>OeMSTX*wn zkUhNv&w%EfeYLlM&SDe9pl!i6+y2xC-q|}Af1EnIe;*Z#hQhU)(|wn1?Y|uwL1$YH zd5{AuKx^lM*69w4VBd|WBL4=g@}Re_p>Ul&zT|VSCeTT_eurL|0ikUggYNB{ zp!L&1GQ~X?4uIatt01&@=s@$JxKD-KATPkp^v{FPHjUw0Q0>V_-IvW!1wVt%u@urF zwD)Wbq!W~Hz2!Qm{Al;vI$Gs&0-OzV!*ob5DE?Uxyc3fdPXy&**uF8rSOos-2-p$6 z?qvhfcy@nANwho7M4C*rI&QKd(+J~{^{6pf8OEHGTVhJC$V-c7nvAAQ6FHq}_6%e< W$ND2;Z?r!Wk6IhghG`?1vVQ|yO@Vp< diff --git a/app/models/trip.rb b/app/models/trip.rb new file mode 100644 index 000000000..d265a2ccc --- /dev/null +++ b/app/models/trip.rb @@ -0,0 +1,3 @@ +class Trip < ApplicationRecord + belongs_to :user +end diff --git a/app/models/user.rb b/app/models/user.rb index fb1c351b2..44ebd6619 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -5,4 +5,5 @@ class User < ApplicationRecord validates :email, presence: true, uniqueness: {case_sensitive: false}, format: {with: EMAIL_REGEX} + has_many :trips end diff --git a/app/views/bikes/_row.html.erb b/app/views/bikes/_row.html.erb index 2946f5ddb..7c8f0ed01 100644 --- a/app/views/bikes/_row.html.erb +++ b/app/views/bikes/_row.html.erb @@ -1,3 +1,8 @@
flexbox vertical stretch"> - Bike <%= bike.identifier %> + Bike <%= bike.identifier %>
+ <% if bike.is_available %> + Available + <% else %> + Unavailable + <% end %>
diff --git a/db/migrate/20241110203104_add_availablility.rb b/db/migrate/20241110203104_add_availablility.rb new file mode 100644 index 000000000..3999bd2ea --- /dev/null +++ b/db/migrate/20241110203104_add_availablility.rb @@ -0,0 +1,5 @@ +class AddAvailablility < ActiveRecord::Migration[7.0] + def change + add_column :bikes, :is_available, :boolean, :default => true + end +end diff --git a/db/migrate/20241110210524_create_trips.rb b/db/migrate/20241110210524_create_trips.rb new file mode 100644 index 000000000..6bf11f6aa --- /dev/null +++ b/db/migrate/20241110210524_create_trips.rb @@ -0,0 +1,13 @@ +class CreateTrips < ActiveRecord::Migration[7.0] + def change + create_table :trips do |t| + t.integer :bike_id + t.integer :user_id + t.datetime :start_time + t.datetime :end_time + t.integer :end_station_id + + t.timestamps + end + end +end diff --git a/db/schema.rb b/db/schema.rb index 79e1dc67c..646b32548 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,12 +10,13 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.0].define(version: 2024_11_01_172048) do +ActiveRecord::Schema[7.0].define(version: 2024_11_10_210524) do create_table "bikes", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t| t.integer "identifier" t.integer "current_station_id" t.datetime "created_at", null: false t.datetime "updated_at", null: false + t.boolean "is_available", default: true end create_table "stations", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t| @@ -26,6 +27,16 @@ t.datetime "updated_at", null: false end + create_table "trips", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t| + t.integer "bike_id" + t.integer "user_id" + t.datetime "start_time" + t.datetime "end_time" + t.integer "end_station_id" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + end + create_table "users", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t| t.string "name" t.string "email", null: false diff --git a/public/favicon.ico b/public/favicon.ico index d68c084e2e49d404eb7abab25926f8d39af8237c..860d7afffd324f08e2445daf36a28fc16370cd6d 100644 GIT binary patch literal 4414 zcmeHKX>1f#93MGEgGLm@E0G#6^aCC-(L@tTP>G3}XatS%2u7^g`cJ+kMCU6zh9fmzCC< zS5bcZym{k=>3oJk9As%32JqHR6_eSgSC zSLDq`k+z0#-Q-E&sG#VYuWI^8KKGSFM6_+t_ZnpN%4SdG4a&+!vRv_9mG_~>(!!lGlY0{u@K*OC#OmF62JR=Xou(N?Ra#TN2__j|}o zVO>Bt_zz2Sy~aUjHD&d9>U!8a5Yg{||IQ^mIpDh%$*qz>%(7$NLmcTaCupBXzJ!k1 zl3OjO8!ds%#-t3*13LI+o7Ux+gN01(%)m8U=_kPVRMIEUfva|s4mv(c!nNG!?(o~k zng%hCX{344B>GvJnQ3dlQF*Ns>cEU5q?`9`@?tZ=E%A= zwDTl$s5`5!@m=#7<}CS&nc7QD^SG9r^nB`sj}Cz6blIyD-?MJj zG|uZ6G2e8YnpTshA2fYfdr2F(Y35@Y=MwLVeFyn^Gu91dPvd;QK6M#k9Jtqf#4pc! z2qA`n{JVv;kTD4UBIDJQN#994>jHZAM0Y&~AMEgLa|dWYp>CXM&o0`~OS>J_MZR)_ zIRmiMpc~+xFb?{`j znWbSY)So?e&2_|cK*kHQwF&xCbN5zPPlVoMvJtW!)eQd~!uez&qaIo_dIMJvr-=Qt0n5fd4Yg zYx59tb^~pPj0L0vZadE<*Ssr=-6?6cX~TDzCvexpq$93mn~w%gx--(fFYZ5K4^UmQ z3B3Y*mno;KK;)4fUgU4 zH}w9>oT3ic{#)6$sz@K#MpQrBAir1lFZN&1_aV-(=Nr};_}zaqo@LMs0-lU!M1^r7{;H7S79H9&S z&+MlitbO*Bp%r`PDf9-2Sy)@>Tjb~aiR)Mgbth?&*B^%UQa4vxtqYj%1#9WFf@KX& z_BQnI%jsL#Xp^4#LOH@WOZ1&j${lVW>n^zJM)>a~o!9z1k+z4U9}b3?{|rC$p;y0* z@4%e+O;VX}mAtX;s18r?EyDf|I~eztUf4ugI^V+_VZO#wf8X+UO%?nC8ysWL4E29EvF(z$-Cgrv*5S;de9HCE)V;^lCkje zEkjwpryjt)U*R_Z>x+1cRr5{2_$GCYWlvf7E_@!>e(dM5@ctVb{nlY$;;hL1I2T5f h8}stJ#~J@mG8*4-_#u1b%nCz+VSz4AlSt literal 4286 zcmeH{e@vBC7{?EgT{qWmR&%r{FsfNwt@VeiwvyUv+0XTl8)TT}X5?lr(^aIR5lO9G z%wN@ zp65Bw^PFQ$8o!(zqkpsId}AgVW2OKilLwM}A9K0arAP_J{>LKl|A|1Npu#{pOoSY` z6efV=|JqTv-rp-7(j}eJJxq^ekO4QrTKE=@LJRDJVvvqe{c!XC+Tuih?8`&>u_QFp zuR|`~vLRcZA8KJdEP_t>4QgR4d<2K!FZdqrf)Raia(~TtiGo!FjkDjdtwojg@DrPD z^PCN~e&%ZyKRQ?=Te2x#ipfIghZ?vSq9D2aycp&~8?-_mgnV%0)Lg73IcuHmShU0T zlAD{E|D`9a%TcEENO@ACX$oovabY)pf8I0#q5nRGwE+;P|g%H?1l)%Rt)8y;R` zyPn%=`(Cc~?8^2a$WE@jc(SKAXy zzX+YZ_oc7wuVwo~K55+a*ap?Y5%yd75WJf7^<6~!HK^|X1le?G{eVwBt!gqIU0af~ z*4v&Jsspxatm4u7_}gJ0sEO91O_qBhowD%>j01O;2>l(PSib`Ed|ssOgZ;1!l*7ZI z*jK9Vl;6H`a!;JQm&a{G;TqdA_bsb9xH{;SeSE@a)!|Q|b7X_FueJ!}+nj)0HK=$z z@5_{*7LXrx^$)EI)n40z_Z2JK`Ru2mob;4d+s4_i%l;3{mx6RIhM;}rR<*Gm&IRR1 z^>PyQhPbtN&`*H$ajr`5tja_3k@a4!hx1=+k1gCTzjQX)o(y_#et{X_>OeMSTX*wn zkUhNv&w%EfeYLlM&SDe9pl!i6+y2xC-q|}Af1EnIe;*Z#hQhU)(|wn1?Y|uwL1$YH zd5{AuKx^lM*69w4VBd|WBL4=g@}Re_p>Ul&zT|VSCeTT_eurL|0ikUggYNB{ zp!L&1GQ~X?4uIatt01&@=s@$JxKD-KATPkp^v{FPHjUw0Q0>V_-IvW!1wVt%u@urF zwD)Wbq!W~Hz2!Qm{Al;vI$Gs&0-OzV!*ob5DE?Uxyc3fdPXy&**uF8rSOos-2-p$6 z?qvhfcy@nANwho7M4C*rI&QKd(+J~{^{6pf8OEHGTVhJC$V-c7nvAAQ6FHq}_6%e< W$ND2;Z?r!Wk6IhghG`?1vVQ|yO@Vp< diff --git a/test/fixtures/trips.yml b/test/fixtures/trips.yml new file mode 100644 index 000000000..45222f191 --- /dev/null +++ b/test/fixtures/trips.yml @@ -0,0 +1,15 @@ +# Read about fixtures at https://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html + +one: + bike_id: 1 + user_id: 1 + start_time: 2024-11-10 16:05:24 + end_time: 2024-11-10 16:05:24 + end_station_id: 1 + +two: + bike_id: 1 + user_id: 1 + start_time: 2024-11-10 16:05:24 + end_time: 2024-11-10 16:05:24 + end_station_id: 1 diff --git a/test/models/trip_test.rb b/test/models/trip_test.rb new file mode 100644 index 000000000..c5ff46fcb --- /dev/null +++ b/test/models/trip_test.rb @@ -0,0 +1,7 @@ +require "test_helper" + +class TripTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end From b522e7cf425245d3617fc3eaf7c85e1e5e3074d9 Mon Sep 17 00:00:00 2001 From: Lynn Do Date: Mon, 11 Nov 2024 02:03:31 -0500 Subject: [PATCH 60/89] Add option to cancel registration and add account page --- app/assets/stylesheets/form.css | 3 ++- app/assets/stylesheets/global.css | 21 +++++++++++++++-- app/assets/stylesheets/variables.css | 1 + app/controllers/account_controller.rb | 26 +++++++++++++++++++++ app/controllers/main_controller.rb | 3 --- app/controllers/user_controller.rb | 4 +--- app/helpers/account_helper.rb | 2 ++ app/models/user.rb | 2 +- app/views/access/login.html.erb | 1 + app/views/account/index.html.erb | 18 ++++++++++++++ app/views/layouts/application.html.erb | 2 ++ app/views/layouts/main.html.erb | 2 +- app/views/main/account.html.erb | 10 -------- app/views/password_resets/edit.html.erb | 1 + app/views/password_resets/new.html.erb | 1 + app/views/user/new.html.erb | 1 + config/routes.rb | 4 ++-- db/schema.rb | 1 + test/controllers/account_controller_test.rb | 8 +++++++ 19 files changed, 88 insertions(+), 23 deletions(-) create mode 100644 app/controllers/account_controller.rb create mode 100644 app/helpers/account_helper.rb create mode 100644 app/views/account/index.html.erb delete mode 100644 app/views/main/account.html.erb create mode 100644 test/controllers/account_controller_test.rb diff --git a/app/assets/stylesheets/form.css b/app/assets/stylesheets/form.css index 4e9ca69a9..0728af263 100644 --- a/app/assets/stylesheets/form.css +++ b/app/assets/stylesheets/form.css @@ -9,9 +9,10 @@ margin-top: 2rem; } -.form-wrapper input[type=submit] { +.form-wrapper input[type=submit], .form-wrapper button { display: block; margin: auto; + width: 100%; } .form-title { diff --git a/app/assets/stylesheets/global.css b/app/assets/stylesheets/global.css index 84ffbb927..c0dd5703f 100644 --- a/app/assets/stylesheets/global.css +++ b/app/assets/stylesheets/global.css @@ -38,22 +38,39 @@ body { background-color: var(--theme-color); position: absolute; width: 100%; - height: 100%; + height: auto; + min-height: 100%; + padding-bottom: 3rem; } .custom-btn { padding: 0.5rem 1.5rem; border-radius: var(--btn-radius); + transition: 0.1s ease; } .btn-fill { background: var(--theme-color); color: var(--white-color); border: var(--btn-thickness) solid var(--theme-color); - transition: 0.1s ease; } .btn-fill:hover { background: var(--white-color); color: var(--black-color); } + +.btn-outline { + background: var(--white-color); + border: var(--btn-thickness) solid var(--theme-color); +} + +.btn-outline:hover { + background: var(--theme-color); + color: var(--white-color); +} + +.btn-danger { + background: var(--danger-color); + color: var(--white-color); +} diff --git a/app/assets/stylesheets/variables.css b/app/assets/stylesheets/variables.css index 59f6fac82..072f29fc6 100644 --- a/app/assets/stylesheets/variables.css +++ b/app/assets/stylesheets/variables.css @@ -14,4 +14,5 @@ --btn-radius: 0.3rem; --widget-radius: 0.5rem; --btn-thickness: 2px; + --danger-color: #8B0000; } \ No newline at end of file diff --git a/app/controllers/account_controller.rb b/app/controllers/account_controller.rb new file mode 100644 index 000000000..6756bd906 --- /dev/null +++ b/app/controllers/account_controller.rb @@ -0,0 +1,26 @@ +class AccountController < ApplicationController + before_action :get_user_info_from_session + def index + if !logged_in? || !@user + redirect_to log_in_path + end + end + + def destroy + if !!@user + session[:user_id] = nil + @user.destroy + redirect_to root_path + end + end + + private + def get_user_info_from_session + @user = User.find_by(id: session[:user_id]) + end + + def logged_in? + # Check user's log in status + session[:user_id].present? + end +end diff --git a/app/controllers/main_controller.rb b/app/controllers/main_controller.rb index 378a2e379..4af844f96 100644 --- a/app/controllers/main_controller.rb +++ b/app/controllers/main_controller.rb @@ -7,9 +7,6 @@ def index def pricing end - def account - end - def contact end end diff --git a/app/controllers/user_controller.rb b/app/controllers/user_controller.rb index 3ce8913be..09dfb94bc 100644 --- a/app/controllers/user_controller.rb +++ b/app/controllers/user_controller.rb @@ -8,9 +8,7 @@ def create # Process sign up information @user = User.new(user_params) if @user.save - cookies[:username] = user_params[:email] - session[:user_id] = @user[:id] - redirect_to root_path + redirect_to log_in_path # make them log in else render :new, status: 422 end diff --git a/app/helpers/account_helper.rb b/app/helpers/account_helper.rb new file mode 100644 index 000000000..6d3694a49 --- /dev/null +++ b/app/helpers/account_helper.rb @@ -0,0 +1,2 @@ +module AccountHelper +end diff --git a/app/models/user.rb b/app/models/user.rb index 44ebd6619..a847d3173 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -5,5 +5,5 @@ class User < ApplicationRecord validates :email, presence: true, uniqueness: {case_sensitive: false}, format: {with: EMAIL_REGEX} - has_many :trips + has_many :trips, dependent: :destroy end diff --git a/app/views/access/login.html.erb b/app/views/access/login.html.erb index 09b53c00c..1cb78e2c3 100644 --- a/app/views/access/login.html.erb +++ b/app/views/access/login.html.erb @@ -26,6 +26,7 @@
<%= f.submit "Log in", class: "mt-3 custom-btn btn-fill" %> <% end %> + <%= button_to('Cancel', root_path, class: "mt-3 custom-btn btn-outline", method: :get) %>
<%= yield %> diff --git a/app/views/main/account.html.erb b/app/views/main/account.html.erb deleted file mode 100644 index b3c259206..000000000 --- a/app/views/main/account.html.erb +++ /dev/null @@ -1,10 +0,0 @@ - -
-
-
- Account Page -
- <%= link_to ''.html_safe, log_in_path %> - <%= link_to ''.html_safe, sign_up_path %> -
-
diff --git a/app/views/password_resets/edit.html.erb b/app/views/password_resets/edit.html.erb index 1b4d2c978..0dc980130 100644 --- a/app/views/password_resets/edit.html.erb +++ b/app/views/password_resets/edit.html.erb @@ -29,6 +29,7 @@
<%= f.submit "Reset", class: "mt-3 custom-btn btn-fill" %> <% end %> + <%= button_to('Cancel', root_path, class: "mt-3 custom-btn btn-outline", method: :get) %>
<%= f.submit "Reset password", class: "mt-3 custom-btn btn-fill" %> <% end %> + <%= button_to('Cancel', root_path, class: "mt-3 custom-btn btn-outline", method: :get) %>
<%= f.submit "Create an account", class: "mt-3 custom-btn btn-fill" %> <% end %> + <%= button_to('Cancel', root_path, class: "mt-3 custom-btn btn-outline", method: :get) %>
diff --git a/app/views/stations/show.html.erb b/app/views/stations/show.html.erb index cadd4cd0b..79ee710cb 100644 --- a/app/views/stations/show.html.erb +++ b/app/views/stations/show.html.erb @@ -4,4 +4,5 @@ Info for Station: <%= @station.identifier %>: <%= @station.name %> (<%= @station
<%= Bike.where(current_station_id: @station.id).length %> available bikes: <%= render(partial: "bikes/row", collection: Bike.where(current_station_id: @station.id), as: :bike )%> +
\ No newline at end of file From c6bf3dcbc0b714abe2e9c276e740467281e96f11 Mon Sep 17 00:00:00 2001 From: Lynn Do Date: Tue, 12 Nov 2024 16:45:08 -0500 Subject: [PATCH 66/89] Add log out button --- app/controllers/access_controller.rb | 17 +++-------------- app/views/account/index.html.erb | 1 + config/routes.rb | 1 + 3 files changed, 5 insertions(+), 14 deletions(-) diff --git a/app/controllers/access_controller.rb b/app/controllers/access_controller.rb index 8cc169f60..6d98e1537 100644 --- a/app/controllers/access_controller.rb +++ b/app/controllers/access_controller.rb @@ -11,19 +11,8 @@ def create end end - private - def fetch_user_info - @user_id = session[:user_id] - - if @user_id - @user = User.find_by(id: @user_id) - else - @user = nil - end - end - - def logged_in? - # Check user's log in status - session[:user_id].present? + def destroy + session[:user_id] = nil + redirect_to root_path end end diff --git a/app/views/account/index.html.erb b/app/views/account/index.html.erb index 7b9fe0a59..e07be6fd0 100644 --- a/app/views/account/index.html.erb +++ b/app/views/account/index.html.erb @@ -8,6 +8,7 @@ <%= @user[:email] %> <%= button_to('Delete account', account_path(@user[:id]), class: "mt-3 custom-btn btn-danger", method: :delete) %> + <%= button_to('Log out', log_out_path, class: "mt-3 custom-btn btn-outline", method: :post) %> <% else %>
No account found. diff --git a/config/routes.rb b/config/routes.rb index 4f8a98509..e74c920a3 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -17,6 +17,7 @@ get "log-in", to: "access#login" post "log-in", to: "access#create" + post "log-out", to: "access#destroy" get "password/reset", to: "password_resets#new" post "password/reset", to: "password_resets#create" From e62c4d4dfefb62513fd5550abbc22a8df478f80a Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Tue, 12 Nov 2024 17:08:11 -0500 Subject: [PATCH 67/89] Add geocoder and successfully geocode stations --- Gemfile | 2 ++ Gemfile.lock | 5 ++++ app/javascript/application.js | 2 +- app/models/station.rb | 8 +++++- app/views/layouts/application.html.erb | 12 +++++---- app/views/stations/index.html.erb | 16 +++-------- config/initializers/geocoder.rb | 27 +++++++++++++++++++ db/migrate/20241112212031_geocode_stations.rb | 6 +++++ db/schema.rb | 14 +++++++++- lib/tasks/load_data.rake | 4 ++- 10 files changed, 75 insertions(+), 21 deletions(-) create mode 100644 config/initializers/geocoder.rb create mode 100644 db/migrate/20241112212031_geocode_stations.rb diff --git a/Gemfile b/Gemfile index ed3a92b2b..3bc8c20a0 100644 --- a/Gemfile +++ b/Gemfile @@ -88,3 +88,5 @@ gem 'dotenv-rails' # gem 'will_paginate' gem "nio4r", "~> 2.5" + +gem 'geocoder', '~> 1.3', '>= 1.3.7' diff --git a/Gemfile.lock b/Gemfile.lock index 7a7bded4e..bbda93e8d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -91,6 +91,7 @@ GEM xpath (~> 3.2) concurrent-ruby (1.3.4) crass (1.0.6) + csv (3.3.0) date (3.4.0) debug (1.9.2) irb (~> 1.10) @@ -104,6 +105,9 @@ GEM ffi (1.17.0) ffi (1.17.0-arm64-darwin) ffi (1.17.0-x86_64-darwin) + geocoder (1.8.3) + base64 (>= 0.1.0) + csv (>= 3.0.0) globalid (1.2.1) activesupport (>= 6.1) i18n (1.14.6) @@ -273,6 +277,7 @@ DEPENDENCIES capybara debug dotenv-rails + geocoder (~> 1.3, >= 1.3.7) importmap-rails jbuilder kredis diff --git a/app/javascript/application.js b/app/javascript/application.js index 5f9b20d90..346cc81ed 100644 --- a/app/javascript/application.js +++ b/app/javascript/application.js @@ -3,4 +3,4 @@ import "@hotwired/turbo-rails" import "controllers" -import "bootstrap" +import "bootstrap" \ No newline at end of file diff --git a/app/models/station.rb b/app/models/station.rb index 3687d333e..1a9430776 100644 --- a/app/models/station.rb +++ b/app/models/station.rb @@ -1,8 +1,14 @@ -class Station < ApplicationRecord +class Station < ApplicationRecord validates_presence_of :identifier, :name, :address validates_uniqueness_of :identifier has_many :docked_bikes, class_name: :Bike, foreign_key: :current_station_id + + attribute :latitude, type: Float + attribute :longitude, type: Float + + geocoded_by :address + after_validation :geocode end diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 6c18cab12..20c19d61c 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -16,11 +16,13 @@
- <%= link_to('Home Page', {controller: 'main' , action: 'index'}) %> | - <%= link_to('Bikes/Stations', {controller: 'stations' , action: 'index'}) %> | - <%= link_to('Pricing', {controller: 'main' , action: 'pricing'}) %> | - <%= link_to('Contact', {controller: 'main' , action: 'contact'}) %> | - <%= link_to('Account', {controller: 'main' , action: 'account'}) %> +
+ <%= link_to('Home Page', {controller: 'main' , action: 'index'}) %> | + <%= link_to('Bikes/Stations', {controller: 'stations' , action: 'index'}) %> | + <%= link_to('Pricing', {controller: 'main' , action: 'pricing'}) %> | + <%= link_to('Contact', {controller: 'main' , action: 'contact'}) %> | + <%= link_to('Account', {controller: 'main' , action: 'account'}) %> +
<%= content_for(:content) ? yield(:content) : yield %>
diff --git a/app/views/stations/index.html.erb b/app/views/stations/index.html.erb index 4c12f1b01..b823b4813 100644 --- a/app/views/stations/index.html.erb +++ b/app/views/stations/index.html.erb @@ -3,21 +3,12 @@ integrity="sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY=" crossorigin=""/> + href="https://unpkg.com/leaflet-geosearch@3.0.0/dist/geosearch.css"/> - - + + <% end %> <% content_for :content do %> @@ -37,6 +28,7 @@ }).addTo(map); var target = L.latLng('42.328674', '-72.664658'); map.setView(target, 14); + L.marker(target).addTo(map); document.element.map = map; diff --git a/config/initializers/geocoder.rb b/config/initializers/geocoder.rb new file mode 100644 index 000000000..c5edf0e9f --- /dev/null +++ b/config/initializers/geocoder.rb @@ -0,0 +1,27 @@ +Geocoder.configure( + # Geocoding options + # timeout: 3, # geocoding service timeout (secs) + lookup: :nominatim, # name of geocoding service (symbol) + # ip_lookup: :ipinfo_io, # name of IP address geocoding service (symbol) + language: :en, # ISO-639 language code + # use_https: false, # use HTTPS for lookup requests? (if supported) + # http_proxy: nil, # HTTP proxy server (user:pass@host:port) + # https_proxy: nil, # HTTPS proxy server (user:pass@host:port) + # api_key: nil, # API key for geocoding service + # cache: nil, # cache object (must respond to #[], #[]=, and #del) + + # Exceptions that should not be rescued by default + # (if you want to implement custom error handling); + # supports SocketError and Timeout::Error + # always_raise: [], + + # Calculation options + units: :mi, # :km for kilometers or :mi for miles + distances: :linear # :spherical or :linear + + # Cache configuration + # cache_options: { + # expiration: 2.days, + # prefix: 'geocoder:' + # } +) diff --git a/db/migrate/20241112212031_geocode_stations.rb b/db/migrate/20241112212031_geocode_stations.rb new file mode 100644 index 000000000..a78c20307 --- /dev/null +++ b/db/migrate/20241112212031_geocode_stations.rb @@ -0,0 +1,6 @@ +class GeocodeStations < ActiveRecord::Migration[7.0] + def change + add_column :stations, :lat, :double + add_column :stations, :long, :double + end +end diff --git a/db/schema.rb b/db/schema.rb index 79e1dc67c..13818548f 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.0].define(version: 2024_11_01_172048) do +ActiveRecord::Schema[7.0].define(version: 2024_11_12_212031) do create_table "bikes", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t| t.integer "identifier" t.integer "current_station_id" @@ -24,6 +24,18 @@ t.string "address" t.datetime "created_at", null: false t.datetime "updated_at", null: false + t.float "lat", limit: 53 + t.float "long", limit: 53 + end + + create_table "trips", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t| + t.integer "bike_id" + t.integer "user_id" + t.datetime "start_time" + t.datetime "end_time" + t.integer "end_station_id" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false end create_table "users", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t| diff --git a/lib/tasks/load_data.rake b/lib/tasks/load_data.rake index d774c2929..626db11e7 100644 --- a/lib/tasks/load_data.rake +++ b/lib/tasks/load_data.rake @@ -4,7 +4,9 @@ namespace :load_data do desc "Reads the station data in from the CSV." task :station => :environment do CSV.foreach('notes/station-data.csv', :headers => true) do |row| #stations - Station.create!(identifier: row[0], name: row[1], address: row[6]) + station = Station.create(identifier: row[0], + name: row[1], + address: row[6]) end end From ba9a0d394721b1d002f7c478dc0b24ab3757a4e5 Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Tue, 12 Nov 2024 17:56:57 -0500 Subject: [PATCH 68/89] got javascript tag working properly --- app/javascript/osm_map.js | 10 +++--- app/views/stations/index.html.erb | 18 ++-------- config/#database.yml# | 55 ------------------------------- config/initializers/assets.rb | 1 + 4 files changed, 8 insertions(+), 76 deletions(-) delete mode 100644 config/#database.yml# diff --git a/app/javascript/osm_map.js b/app/javascript/osm_map.js index a66cab5b2..bbf0bd179 100644 --- a/app/javascript/osm_map.js +++ b/app/javascript/osm_map.js @@ -11,9 +11,7 @@ initializes the map for future use TODO - figure out the tiling thing and how to get an actual image rendered */ -function mapInit(){ - // Where you want to render the map. - var element = document.getElementById("osm-map"); +function mapInit(element){ // Create Leaflet map on map element. var map = L.map(element); @@ -33,6 +31,8 @@ function mapInit(){ L.marker(target).addTo(map); document.element.map = map; + + return map } /* @@ -41,9 +41,7 @@ TODO - hoping that the map var is getting set correctly - add a popup to the marker to link to the station page */ -function addMarker(lat, lng) { - var map = document.getElementById('osm-map').map; - +function addMarker(map, lat, lng) { // Target's GPS coordinates. var target = L.latLng(lat, lng); diff --git a/app/views/stations/index.html.erb b/app/views/stations/index.html.erb index b823b4813..b5db05372 100644 --- a/app/views/stations/index.html.erb +++ b/app/views/stations/index.html.erb @@ -7,8 +7,8 @@ - - + <%= javascript_include_tag('https://unpkg.com/leaflet-geosearch@latest/dist/bundle.min.js') %> + <%= javascript_include_tag('osm_map.js') %> <% end %> <% content_for :content do %> @@ -18,19 +18,7 @@ Bikes and Stations
-
- - + <%= render partial: "stations/leaflet", locals: {stations: @stations} %>
<% if @stations.present? %> diff --git a/config/#database.yml# b/config/#database.yml# deleted file mode 100644 index a3106de18..000000000 --- a/config/#database.yml# +++ /dev/null @@ -1,55 +0,0 @@ -# MySQL. Versions 5.5.8 and up are supported. -# -# Install the MySQL driver -# gem install mysql2 -# -# Ensure the MySQL gem is defined in your Gemfile -# gem "mysql2" -# -# And be sure to use new-style password hashing: -# https://dev.mysql.com/doc/refman/5.7/en/password-hashing.html -# -default: &default - adapter: mysql2 - encoding: utf8mb4 - pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> - username: <%= ENV['root'] || 'root' %> - password: <%= ENV['blueelephant123'] || '' %> - socket: <%= ENV['MYSQL_SOCKET'] || '/tmp/mysql.sock' %> - -development: - <<: *default - database: valetbike_development - -# Warning: The database defined as "test" will be erased and -# re-generated from your development database when you run "rake". -# Do not set this db to the same as development or production. -test: - <<: *default - database: valetbike_test - -# As with config/credentials.yml, you never want to store sensitive information, -# like your database password, in your source code. If your source code is -# ever seen by anyone, they now have access to your database. -# -# Instead, provide the password or a full connection URL as an environment -# variable when you boot the app. For example: -# -# DATABASE_URL="mysql2://myuser:mypass@localhost/somedatabase" -# -# If the connection URL is provided in the special DATABASE_URL environment -# variable, Rails will automatically merge its configuration values on top of -# the values provided in this file. Alternatively, you can specify a connection -# URL environment variable explicitly: -# -# production: -# url: <%= ENV["MY_APP_DATABASE_URL"] %> -# -# Read https://guides.rubyonrails.org/configuring.html#configuring-a-database -# for a full overview on how database connection configuration can be specified. -# -production: - <<: *default - database: valetbike_production - username: valetbike - password: <%= ENV["VALETBIKE"] %> diff --git a/config/initializers/assets.rb b/config/initializers/assets.rb index 428202082..c3ae110ab 100644 --- a/config/initializers/assets.rb +++ b/config/initializers/assets.rb @@ -16,3 +16,4 @@ Rails.application.config.assets.precompile += %w( bootstrap.min.js ) Rails.application.config.assets.precompile += %w( controllers/hello_controller.js ) Rails.application.config.assets.precompile += %w( controllers/index.js ) +Rails.application.config.assets.precompile += %w( osm_map.js ) From 3cd417118f1d39c521215df6752cd8bb5b43bb74 Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Tue, 12 Nov 2024 18:23:58 -0500 Subject: [PATCH 69/89] Would work if erb worked inside script tags T-T --- app/javascript/osm_map.js | 17 ++++++++--------- app/views/stations/_leaflet.html.erb | 13 +++++++++++++ app/views/stations/index.html.erb | 2 +- 3 files changed, 22 insertions(+), 10 deletions(-) create mode 100644 app/views/stations/_leaflet.html.erb diff --git a/app/javascript/osm_map.js b/app/javascript/osm_map.js index bbf0bd179..276f209a7 100644 --- a/app/javascript/osm_map.js +++ b/app/javascript/osm_map.js @@ -5,6 +5,7 @@ Answer by user totymedli const northamptonLat = '42.328674'; // what it says on the tag const northamptonLng = '-72.664658'; // rough center of northampton +const center = L.latLng(northamptonLat, northamptonLng); /* initializes the map for future use @@ -21,17 +22,12 @@ function mapInit(element){ attribution: '© OpenStreetMap contributors' }).addTo(map); - // Target's GPS coordinates. - var target = L.latLng(northamptonLat, northamptonLng); - // Set map's center to target with zoom 14. - map.setView(target, 14); // consider changing zoom + map.setView(center, 14); // consider changing zoom // Place a marker on the location. - L.marker(target).addTo(map); - - document.element.map = map; - + L.marker(center).addTo(map); + return map } @@ -46,5 +42,8 @@ function addMarker(map, lat, lng) { var target = L.latLng(lat, lng); // Place a marker on the location. - L.marker(target).addTo(map); + L.marker(target).addTo(map); + + // Set map's center to target with zoom 14. + map.setView(center, 14); // consider changing zoom } \ No newline at end of file diff --git a/app/views/stations/_leaflet.html.erb b/app/views/stations/_leaflet.html.erb new file mode 100644 index 000000000..95fa38378 --- /dev/null +++ b/app/views/stations/_leaflet.html.erb @@ -0,0 +1,13 @@ +
+ + \ No newline at end of file diff --git a/app/views/stations/index.html.erb b/app/views/stations/index.html.erb index b5db05372..402803e99 100644 --- a/app/views/stations/index.html.erb +++ b/app/views/stations/index.html.erb @@ -18,7 +18,7 @@ Bikes and Stations
- <%= render partial: "stations/leaflet", locals: {stations: @stations} %> + <%= render partial: "stations/leaflet" %>
<% if @stations.present? %> From 4076a0f2f8f6551d9b0d72a61903a11704118b0c Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Tue, 12 Nov 2024 21:06:45 -0500 Subject: [PATCH 70/89] setup lat and long arrays in stations/index for easier passing --- app/controllers/stations_controller.rb | 6 ++++++ app/views/stations/_leaflet.html.erb | 7 ------- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/app/controllers/stations_controller.rb b/app/controllers/stations_controller.rb index 88090af16..7fdf16d2f 100644 --- a/app/controllers/stations_controller.rb +++ b/app/controllers/stations_controller.rb @@ -2,6 +2,12 @@ class StationsController < ApplicationController def index @stations = Station.all.order(identifier: :asc) + @lats = Array.new # array of latitudes + @longs = Array.new # array of longitudes + @stations.each do |s| + @lats.append(s.latitude) + @longs.append(s.longitude) + end end end diff --git a/app/views/stations/_leaflet.html.erb b/app/views/stations/_leaflet.html.erb index 95fa38378..dd384433c 100644 --- a/app/views/stations/_leaflet.html.erb +++ b/app/views/stations/_leaflet.html.erb @@ -3,11 +3,4 @@ \ No newline at end of file From 85512bdcd50e43a9c0676af501a38b52ef090654 Mon Sep 17 00:00:00 2001 From: Rey Snyder Date: Thu, 14 Nov 2024 01:39:32 -0500 Subject: [PATCH 71/89] added a few methods for accesing user data, added buttons, started working on reservation system --- app/assets/stylesheets/global.css | 6 ++++ app/assets/stylesheets/variables.css | 1 + app/controllers/application_controller.rb | 2 ++ app/controllers/bikes_controller.rb | 3 -- app/controllers/trips_controller.rb | 15 +++++++++ app/helpers/trips_helper.rb | 2 ++ app/models/bike.rb | 9 +++++ app/views/bikes/_row.html.erb | 33 ++++++++++++------- app/views/stations/_row.html.erb | 3 +- app/views/stations/show.html.erb | 4 +-- app/views/trips/_button.html.erb | 6 ++++ app/views/trips/new.html.erb | 14 ++++++++ config/routes.rb | 3 ++ .../20241114033050_add_bike_to_users.rb | 5 +++ db/schema.rb | 4 +-- test/controllers/trips_controller_test.rb | 18 ++++++++++ 16 files changed, 109 insertions(+), 19 deletions(-) create mode 100644 app/controllers/trips_controller.rb create mode 100644 app/helpers/trips_helper.rb create mode 100644 app/views/trips/_button.html.erb create mode 100644 app/views/trips/new.html.erb create mode 100644 db/migrate/20241114033050_add_bike_to_users.rb create mode 100644 test/controllers/trips_controller_test.rb diff --git a/app/assets/stylesheets/global.css b/app/assets/stylesheets/global.css index c0dd5703f..ca5dcf9cd 100644 --- a/app/assets/stylesheets/global.css +++ b/app/assets/stylesheets/global.css @@ -49,6 +49,7 @@ body { transition: 0.1s ease; } + .btn-fill { background: var(--theme-color); color: var(--white-color); @@ -74,3 +75,8 @@ body { background: var(--danger-color); color: var(--white-color); } + +.btn-invalid { + background: var(--invalid-color); + color: var(--white-color); +} diff --git a/app/assets/stylesheets/variables.css b/app/assets/stylesheets/variables.css index 072f29fc6..68d2c8b17 100644 --- a/app/assets/stylesheets/variables.css +++ b/app/assets/stylesheets/variables.css @@ -9,6 +9,7 @@ --dark-white-color: #F3F2F3; --medium-white-color: #FDFCFD; --white-color: #FFFFFF; + --invalid-color: #B1B1B1; --theme-color: #905ADB; --btn-radius: 0.3rem; diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 84808f420..d7e46ea36 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -2,6 +2,7 @@ class ApplicationController < ActionController::Base helper_method :get_user_info_from_session helper_method :logged_in? + helper_method :has_bike? def get_user_info_from_session @user = User.find_by(id: session[:user_id]) @@ -10,4 +11,5 @@ def logged_in? # Check user's log in status session[:user_id].present? end + end diff --git a/app/controllers/bikes_controller.rb b/app/controllers/bikes_controller.rb index f0cda27b9..036a4f038 100644 --- a/app/controllers/bikes_controller.rb +++ b/app/controllers/bikes_controller.rb @@ -1,13 +1,10 @@ class BikesController < ApplicationController - def _row @bikes = Bike.all.order(identifier: :asc) - # @logged_in = logged_in? end def index end - def show @bike = Bike.find(params[:id]) end diff --git a/app/controllers/trips_controller.rb b/app/controllers/trips_controller.rb new file mode 100644 index 000000000..06c984617 --- /dev/null +++ b/app/controllers/trips_controller.rb @@ -0,0 +1,15 @@ +class TripsController < ApplicationController + def index + @trips = Trip.all.order(:created_at) + end + + def _button + @trip = Trip.new + end + + def show + @trip = Trip.find(params[:id]) + end + + +end diff --git a/app/helpers/trips_helper.rb b/app/helpers/trips_helper.rb new file mode 100644 index 000000000..04f333d46 --- /dev/null +++ b/app/helpers/trips_helper.rb @@ -0,0 +1,2 @@ +module TripsHelper +end diff --git a/app/models/bike.rb b/app/models/bike.rb index 52e8449c8..be2f39a5a 100644 --- a/app/models/bike.rb +++ b/app/models/bike.rb @@ -3,4 +3,13 @@ class Bike < ApplicationRecord validates_uniqueness_of :identifier belongs_to :current_station, class_name: :Station, foreign_key: :current_station_id, optional: true + def is_users?(user) + return false unless user + user.current_bike_id == id + end + + def available? + is_available + end + end diff --git a/app/views/bikes/_row.html.erb b/app/views/bikes/_row.html.erb index bf66c266e..fe3b7adaa 100644 --- a/app/views/bikes/_row.html.erb +++ b/app/views/bikes/_row.html.erb @@ -1,15 +1,26 @@ -
flexbox vertical stretch"> - Bike <%= bike.identifier %>
- <% if bike.is_available %> - Available - <% else %> - Unavailable - <% end %> - - <% if logged_in? %> - Logged in!! +
+
+ <% user = get_user_info_from_session %> + Bike <%= bike.identifier %> + <% if !logged_in? %> + <%= button_to('Reserve Bike', {}, class: "mt-3 custom-btn btn-invalid", method: :get) %> + log in to reserve bike + <% else if !bike.is_available? %> + <%= button_to('Reserve Bike', {}, class: "mt-3 custom-btn btn-invalid", method: :get) %> + Bike is currently Unavailable <% else %> - Logged out!! + <%= button_to('Return Bike', {controller: 'stations', action: 'index'}, class: "custom-btn btn-outline", method: :get) %> +<% end %> + <% end %> + + <% if user %> + <%= user.email %> <% end %> + +
diff --git a/app/views/stations/_row.html.erb b/app/views/stations/_row.html.erb index 5fbb547c1..be97aac79 100644 --- a/app/views/stations/_row.html.erb +++ b/app/views/stations/_row.html.erb @@ -4,7 +4,8 @@ <%= Bike.where(current_station_id: station.id).length %> available bikes
- <%= link_to('More Details', station_path(station), class: 'action :show') %> + <%= button_to('More Details', station_path(station), class: "mt-3 custom-btn btn-outline", method: :get) %> + <%#= link_to('More Details', station_path(station), class: 'action :show') %> <%#= render(partial: "bikes/row", collection: Bike.where(current_station_id: station.id), as: :bike )%>
diff --git a/app/views/stations/show.html.erb b/app/views/stations/show.html.erb index 79ee710cb..bbe29e848 100644 --- a/app/views/stations/show.html.erb +++ b/app/views/stations/show.html.erb @@ -1,5 +1,5 @@ -<%= link_to('< Back to Stations', {controller: 'stations', action: 'index'}) %>
- +<%= button_to('< Back to Stations', {controller: 'stations', action: 'index'}, class: "mt-3 custom-btn btn-outline", method: :get) %> +
Info for Station: <%= @station.identifier %>: <%= @station.name %> (<%= @station.address %>)
<%= Bike.where(current_station_id: @station.id).length %> available bikes: diff --git a/app/views/trips/_button.html.erb b/app/views/trips/_button.html.erb new file mode 100644 index 000000000..1712f8164 --- /dev/null +++ b/app/views/trips/_button.html.erb @@ -0,0 +1,6 @@ +
+

Trips#index

+ <%= button_to('Log out', log_out_path, class: "mt-3 custom-btn btn-outline", method: :post) %> + +

Find me in app/views/trips/index.html.erb

+
diff --git a/app/views/trips/new.html.erb b/app/views/trips/new.html.erb new file mode 100644 index 000000000..e58288ff5 --- /dev/null +++ b/app/views/trips/new.html.erb @@ -0,0 +1,14 @@ +
+

Create Task

+ + <%= form_for(@trip) do |f| %> + <% # url: tasks_path, method: 'post' %> + + <%= render(partial: 'form', locals: {f: f}) %> + +
+ <%= f.submit("Create Trip") %> +
+ + <% end %> +
diff --git a/config/routes.rb b/config/routes.rb index e74c920a3..962aa7442 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,4 +1,7 @@ Rails.application.routes.draw do + get 'trips/index' + get 'trips/new' + get 'trips/edit' get 'stations/index' get 'bikes/index' get 'bikes/_row' diff --git a/db/migrate/20241114033050_add_bike_to_users.rb b/db/migrate/20241114033050_add_bike_to_users.rb new file mode 100644 index 000000000..f0119889e --- /dev/null +++ b/db/migrate/20241114033050_add_bike_to_users.rb @@ -0,0 +1,5 @@ +class AddBikeToUsers < ActiveRecord::Migration[7.0] + def change + add_column :users, :current_bike_id, :integer + end +end diff --git a/db/schema.rb b/db/schema.rb index fa5a3ee5b..f6f571bc3 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.0].define(version: 2024_11_10_210524) do +ActiveRecord::Schema[7.0].define(version: 2024_11_14_033050) do create_table "bikes", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t| t.integer "identifier" t.integer "current_station_id" @@ -40,12 +40,12 @@ create_table "users", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t| t.string "name" t.string "email", null: false - t.string "password" t.datetime "created_at", null: false t.datetime "updated_at", null: false t.string "password_digest" t.string "string" t.string "phone_number" + t.integer "current_bike_id" end end diff --git a/test/controllers/trips_controller_test.rb b/test/controllers/trips_controller_test.rb new file mode 100644 index 000000000..c0efe9f75 --- /dev/null +++ b/test/controllers/trips_controller_test.rb @@ -0,0 +1,18 @@ +require "test_helper" + +class TripsControllerTest < ActionDispatch::IntegrationTest + test "should get index" do + get trips_index_url + assert_response :success + end + + test "should get new" do + get trips_new_url + assert_response :success + end + + test "should get edit" do + get trips_edit_url + assert_response :success + end +end From 01339534a3c49de1c35192eb766482d5f50d2224 Mon Sep 17 00:00:00 2001 From: Rey Snyder Date: Thu, 14 Nov 2024 20:58:26 -0500 Subject: [PATCH 72/89] set up 'new' action for reservation system (still need create) --- app/controllers/trips_controller.rb | 17 +++++--- app/models/bike.rb | 4 ++ app/models/user.rb | 9 +++- app/views/bikes/_row.html.erb | 21 +++++++--- app/views/trips/_button.html.erb | 6 --- app/views/trips/_form.html.erb | 8 ++++ app/views/trips/create.html.erb | 4 ++ app/views/trips/edit.html.erb | 0 app/views/trips/index.html.erb | 0 app/views/trips/new.html.erb | 41 ++++++++++++++----- app/views/trips/show.html.erb | 5 +++ app/views/trips/update.html.erb | 0 config/routes.rb | 5 +-- ...0241114204842_add_start_station_to_trip.rb | 5 +++ db/schema.rb | 3 +- 15 files changed, 96 insertions(+), 32 deletions(-) delete mode 100644 app/views/trips/_button.html.erb create mode 100644 app/views/trips/_form.html.erb create mode 100644 app/views/trips/create.html.erb create mode 100644 app/views/trips/edit.html.erb create mode 100644 app/views/trips/index.html.erb create mode 100644 app/views/trips/show.html.erb create mode 100644 app/views/trips/update.html.erb create mode 100644 db/migrate/20241114204842_add_start_station_to_trip.rb diff --git a/app/controllers/trips_controller.rb b/app/controllers/trips_controller.rb index 06c984617..ee0e2e417 100644 --- a/app/controllers/trips_controller.rb +++ b/app/controllers/trips_controller.rb @@ -1,15 +1,22 @@ class TripsController < ApplicationController - def index - @trips = Trip.all.order(:created_at) - end - def _button + def new @trip = Trip.new + @bike = Bike.find(params[:bike_id]) + @station = Station.find(params[:station_id]) + @user = User.find(params[:user_id]) end + def create + end def show - @trip = Trip.find(params[:id]) + @trip = Trip.find(params[:id]) end + def update + end + + def edit + end end diff --git a/app/models/bike.rb b/app/models/bike.rb index be2f39a5a..b278129e0 100644 --- a/app/models/bike.rb +++ b/app/models/bike.rb @@ -12,4 +12,8 @@ def available? is_available end + def get_station + Station.find(current_station_id) + end + end diff --git a/app/models/user.rb b/app/models/user.rb index a847d3173..e36aa063a 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -5,5 +5,12 @@ class User < ApplicationRecord validates :email, presence: true, uniqueness: {case_sensitive: false}, format: {with: EMAIL_REGEX} - has_many :trips, dependent: :destroy + has_many :trips, dependent: :destroy + + def has_bike? + unless current_bike_id.nil? + current_bike_id + end + end + end diff --git a/app/views/bikes/_row.html.erb b/app/views/bikes/_row.html.erb index fe3b7adaa..9fb6549bc 100644 --- a/app/views/bikes/_row.html.erb +++ b/app/views/bikes/_row.html.erb @@ -1,16 +1,25 @@
<% user = get_user_info_from_session %> + <% station = bike.get_station%> Bike <%= bike.identifier %> <% if !logged_in? %> <%= button_to('Reserve Bike', {}, class: "mt-3 custom-btn btn-invalid", method: :get) %> - log in to reserve bike + Please log in to reserve bike + <% else if bike.is_users?(user)%> + <%#= button_to('Manage Reservation', {controller: 'stations', action: 'index'}, class: "custom-btn btn-outline", method: :get) %> + + <% else if user.has_bike?%> + <%= button_to('Reserve Bike', {}, class: "mt-3 custom-btn btn-invalid", method: :get) %> + Please return your current bike to reserve a new one <% else if !bike.is_available? %> - <%= button_to('Reserve Bike', {}, class: "mt-3 custom-btn btn-invalid", method: :get) %> - Bike is currently Unavailable - <% else %> - <%= button_to('Return Bike', {controller: 'stations', action: 'index'}, class: "custom-btn btn-outline", method: :get) %> -<% end %> + <%= button_to('Reserve Bike', {}, class: "mt-3 custom-btn btn-invalid", method: :get) %> + Bike is currently Unavailable + <% else %> + <%= link_to 'Reserve Bike', new_trip_path(bike_id: bike.id, station_id: station.id, user_id: user.id), class: 'action new' "mt-3 custom-btn btn-outline" "", method: :get %> + <% end %> + <% end %> + <% end %> <% end %> <% if user %> diff --git a/app/views/trips/_button.html.erb b/app/views/trips/_button.html.erb deleted file mode 100644 index 1712f8164..000000000 --- a/app/views/trips/_button.html.erb +++ /dev/null @@ -1,6 +0,0 @@ -
-

Trips#index

- <%= button_to('Log out', log_out_path, class: "mt-3 custom-btn btn-outline", method: :post) %> - -

Find me in app/views/trips/index.html.erb

-
diff --git a/app/views/trips/_form.html.erb b/app/views/trips/_form.html.erb new file mode 100644 index 000000000..11da7e26e --- /dev/null +++ b/app/views/trips/_form.html.erb @@ -0,0 +1,8 @@ + + + + + + + +
Pickup Time<%= f.time_field(:start_time) %>
diff --git a/app/views/trips/create.html.erb b/app/views/trips/create.html.erb new file mode 100644 index 000000000..03a46ebde --- /dev/null +++ b/app/views/trips/create.html.erb @@ -0,0 +1,4 @@ +
flexbox vertical stretch"> + create trip + +
\ No newline at end of file diff --git a/app/views/trips/edit.html.erb b/app/views/trips/edit.html.erb new file mode 100644 index 000000000..e69de29bb diff --git a/app/views/trips/index.html.erb b/app/views/trips/index.html.erb new file mode 100644 index 000000000..e69de29bb diff --git a/app/views/trips/new.html.erb b/app/views/trips/new.html.erb index e58288ff5..b846c69e4 100644 --- a/app/views/trips/new.html.erb +++ b/app/views/trips/new.html.erb @@ -1,14 +1,35 @@ -
-

Create Task

+
flexbox vertical stretch"> + <%= link_to("Back to Bikes", station_path(@station), method: :get) %> - <%= form_for(@trip) do |f| %> - <% # url: tasks_path, method: 'post' %> +
+

New Trip

+ + + + + + + + + + + + + + + + +
Bike ID: <%= @bike.identifier %>
User ID:<%= @user.id %>
Station:<%= @station.identifier %>
- <%= render(partial: 'form', locals: {f: f}) %> + <%= form_for(@trip) do |f| %> + <% # url: tasks_path, method: 'post' %> -
- <%= f.submit("Create Trip") %> -
+ <%= render(partial: 'form', locals: {f: f}) %> - <% end %> -
+
+ <%= f.submit("Create Trip") %> +
+ + <% end %> +
+
\ No newline at end of file diff --git a/app/views/trips/show.html.erb b/app/views/trips/show.html.erb new file mode 100644 index 000000000..a16791ffc --- /dev/null +++ b/app/views/trips/show.html.erb @@ -0,0 +1,5 @@ + + +def update +end + diff --git a/app/views/trips/update.html.erb b/app/views/trips/update.html.erb new file mode 100644 index 000000000..e69de29bb diff --git a/config/routes.rb b/config/routes.rb index 962aa7442..d0c234fde 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,8 +1,6 @@ Rails.application.routes.draw do - get 'trips/index' - get 'trips/new' - get 'trips/edit' get 'stations/index' + get 'stations/show' get 'bikes/index' get 'bikes/_row' get 'main/pricing' @@ -14,6 +12,7 @@ resources :bikes, only: [:index, :show] end + resources :trips, except: [:destroy] get "sign-up", to: "user#new" post "sign-up", to: "user#create" diff --git a/db/migrate/20241114204842_add_start_station_to_trip.rb b/db/migrate/20241114204842_add_start_station_to_trip.rb new file mode 100644 index 000000000..931c4c15b --- /dev/null +++ b/db/migrate/20241114204842_add_start_station_to_trip.rb @@ -0,0 +1,5 @@ +class AddStartStationToTrip < ActiveRecord::Migration[7.0] + def change + add_column :trips, :start_station_is, :integer + end +end diff --git a/db/schema.rb b/db/schema.rb index f6f571bc3..441cb233f 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.0].define(version: 2024_11_14_033050) do +ActiveRecord::Schema[7.0].define(version: 2024_11_14_204842) do create_table "bikes", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t| t.integer "identifier" t.integer "current_station_id" @@ -35,6 +35,7 @@ t.integer "end_station_id" t.datetime "created_at", null: false t.datetime "updated_at", null: false + t.integer "start_station_is" end create_table "users", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t| From 117c23a884835b195fadeae8ae9f9f63bad2231b Mon Sep 17 00:00:00 2001 From: Rey Snyder Date: Sat, 16 Nov 2024 13:31:15 -0500 Subject: [PATCH 73/89] fixed some small bugs, added a create action --- app/controllers/trips_controller.rb | 20 +++++++++++++++++--- app/views/trips/_form.html.erb | 17 ++++++++++++++++- app/views/trips/confirmation.html.erb | 1 + app/views/trips/create.html.erb | 4 ---- app/views/trips/new.html.erb | 18 +++++++++++------- app/views/trips/update.html.erb | 0 config/routes.rb | 4 ++++ 7 files changed, 49 insertions(+), 15 deletions(-) create mode 100644 app/views/trips/confirmation.html.erb delete mode 100644 app/views/trips/create.html.erb delete mode 100644 app/views/trips/update.html.erb diff --git a/app/controllers/trips_controller.rb b/app/controllers/trips_controller.rb index ee0e2e417..f069b4ab2 100644 --- a/app/controllers/trips_controller.rb +++ b/app/controllers/trips_controller.rb @@ -2,12 +2,25 @@ class TripsController < ApplicationController def new @trip = Trip.new - @bike = Bike.find(params[:bike_id]) - @station = Station.find(params[:station_id]) - @user = User.find(params[:user_id]) + @bike = Bike.find(params[:bike_id]) + @station = Station.find(params[:station_id]) + @user = User.find(params[:user_id]) end + def create + @bike = Bike.find(params[:bike_id]) + @station = Station.find(params[:station_id]) + @user = User.find(params[:user_id]) + @trip = Trip.new(params.require(:trip).permit(:start_time, + :start_station_id, + :bike_id, + :user_id)) + if @trip.save + redirect_to trip_confirmation_path + else + render :new + end end def show @trip = Trip.find(params[:id]) @@ -19,4 +32,5 @@ def update def edit end + end diff --git a/app/views/trips/_form.html.erb b/app/views/trips/_form.html.erb index 11da7e26e..c8c3b9f83 100644 --- a/app/views/trips/_form.html.erb +++ b/app/views/trips/_form.html.erb @@ -1,8 +1,23 @@ +

New Trip

+ + + + + + + + + + + + + + + -
Bike ID: <%= @bike.identifier %>
User ID:<%= @user.id %>
Station:<%= @station.identifier %>
Pickup Time <%= f.time_field(:start_time) %>
diff --git a/app/views/trips/confirmation.html.erb b/app/views/trips/confirmation.html.erb new file mode 100644 index 000000000..da55083ce --- /dev/null +++ b/app/views/trips/confirmation.html.erb @@ -0,0 +1 @@ +confirm trip!! \ No newline at end of file diff --git a/app/views/trips/create.html.erb b/app/views/trips/create.html.erb deleted file mode 100644 index 03a46ebde..000000000 --- a/app/views/trips/create.html.erb +++ /dev/null @@ -1,4 +0,0 @@ -
flexbox vertical stretch"> - create trip - -
\ No newline at end of file diff --git a/app/views/trips/new.html.erb b/app/views/trips/new.html.erb index b846c69e4..9e3dd76ef 100644 --- a/app/views/trips/new.html.erb +++ b/app/views/trips/new.html.erb @@ -1,9 +1,8 @@
flexbox vertical stretch"> - <%= link_to("Back to Bikes", station_path(@station), method: :get) %> + <%= button_to("Back to Bikes", station_path(@station), class: "mt-3 custom-btn btn-outline", method: :get) %> -
+

New Trip

-
@@ -19,12 +18,18 @@ -
Bike ID: <%= @bike.identifier %><%= @station.identifier %>
+ + - <%= form_for(@trip) do |f| %> + <%= form_for(@trip) do |f| %> <% # url: tasks_path, method: 'post' %> - <%= render(partial: 'form', locals: {f: f}) %> + + + + Pickup Time + <%= f.time_field(:start_time) %> +
<%= f.submit("Create Trip") %> @@ -32,4 +37,3 @@ <% end %>
-
\ No newline at end of file diff --git a/app/views/trips/update.html.erb b/app/views/trips/update.html.erb deleted file mode 100644 index e69de29bb..000000000 diff --git a/config/routes.rb b/config/routes.rb index d0c234fde..4a5066336 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -6,6 +6,10 @@ get 'main/pricing' get 'main/contact' + + get 'trip/confirmation' + + # resources :bikes # resources :stations resources :stations, only: [:index, :show] do From 7c8c0743eb943d6efff7e1fe67f0fd93d9db7496 Mon Sep 17 00:00:00 2001 From: Lynn Do Date: Sat, 16 Nov 2024 16:07:55 -0500 Subject: [PATCH 74/89] Pass lats and longs from controller to partial view --- app/views/stations/_leaflet.html.erb | 9 ++++++++- app/views/stations/index.html.erb | 2 +- db/schema.rb | 2 ++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/app/views/stations/_leaflet.html.erb b/app/views/stations/_leaflet.html.erb index dd384433c..d889c0f27 100644 --- a/app/views/stations/_leaflet.html.erb +++ b/app/views/stations/_leaflet.html.erb @@ -1,6 +1,13 @@
- + +<%= content_tag :div, '', id: 'lats', data: {source: lats} %> +<%= content_tag :div, '', id: 'longs', data: {source: longs} %> + \ No newline at end of file diff --git a/app/views/stations/index.html.erb b/app/views/stations/index.html.erb index 402803e99..6acf62a1c 100644 --- a/app/views/stations/index.html.erb +++ b/app/views/stations/index.html.erb @@ -18,7 +18,7 @@ Bikes and Stations
- <%= render partial: "stations/leaflet" %> + <%= render partial: "stations/leaflet", locals: {lats: @lats, longs: @longs} %>
<% if @stations.present? %> diff --git a/db/schema.rb b/db/schema.rb index 13818548f..b9ac26be2 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -16,6 +16,7 @@ t.integer "current_station_id" t.datetime "created_at", null: false t.datetime "updated_at", null: false + t.boolean "is_available", default: true end create_table "stations", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t| @@ -41,6 +42,7 @@ create_table "users", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t| t.string "name" t.string "email", null: false + t.string "password" t.datetime "created_at", null: false t.datetime "updated_at", null: false t.string "password_digest" From 5b2796696d32c1a4a1d422f9018b575341acd5db Mon Sep 17 00:00:00 2001 From: Lynn Do Date: Sat, 16 Nov 2024 16:46:25 -0500 Subject: [PATCH 75/89] Add marker for each station --- app/controllers/stations_controller.rb | 1 + app/views/stations/_leaflet.html.erb | 18 +++++++++++++++--- db/migrate/20241112212031_geocode_stations.rb | 4 ++-- db/schema.rb | 6 ++---- 4 files changed, 20 insertions(+), 9 deletions(-) diff --git a/app/controllers/stations_controller.rb b/app/controllers/stations_controller.rb index 7fdf16d2f..a776d886d 100644 --- a/app/controllers/stations_controller.rb +++ b/app/controllers/stations_controller.rb @@ -5,6 +5,7 @@ def index @lats = Array.new # array of latitudes @longs = Array.new # array of longitudes @stations.each do |s| + puts s.latitude @lats.append(s.latitude) @longs.append(s.longitude) end diff --git a/app/views/stations/_leaflet.html.erb b/app/views/stations/_leaflet.html.erb index d889c0f27..7e1a3797a 100644 --- a/app/views/stations/_leaflet.html.erb +++ b/app/views/stations/_leaflet.html.erb @@ -6,8 +6,20 @@ \ No newline at end of file diff --git a/db/migrate/20241112212031_geocode_stations.rb b/db/migrate/20241112212031_geocode_stations.rb index a78c20307..f5e8262ae 100644 --- a/db/migrate/20241112212031_geocode_stations.rb +++ b/db/migrate/20241112212031_geocode_stations.rb @@ -1,6 +1,6 @@ class GeocodeStations < ActiveRecord::Migration[7.0] def change - add_column :stations, :lat, :double - add_column :stations, :long, :double + add_column :stations, :latitude, :double + add_column :stations, :longitude, :double end end diff --git a/db/schema.rb b/db/schema.rb index b9ac26be2..20800d69e 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -16,7 +16,6 @@ t.integer "current_station_id" t.datetime "created_at", null: false t.datetime "updated_at", null: false - t.boolean "is_available", default: true end create_table "stations", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t| @@ -25,8 +24,8 @@ t.string "address" t.datetime "created_at", null: false t.datetime "updated_at", null: false - t.float "lat", limit: 53 - t.float "long", limit: 53 + t.float "latitude", limit: 53 + t.float "longitude", limit: 53 end create_table "trips", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t| @@ -42,7 +41,6 @@ create_table "users", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t| t.string "name" t.string "email", null: false - t.string "password" t.datetime "created_at", null: false t.datetime "updated_at", null: false t.string "password_digest" From 70cde56781b24f86694655fa6141a87caec6a381 Mon Sep 17 00:00:00 2001 From: Rey Snyder Date: Sat, 16 Nov 2024 20:25:42 -0500 Subject: [PATCH 76/89] fixed errors with reservation, rendered layout, added confirmation page --- app/controllers/trips_controller.rb | 24 ++++++++++--------- app/views/access/login.html.erb | 1 - app/views/trips/confirmation.html.erb | 33 ++++++++++++++++++++++++++- app/views/trips/new.html.erb | 11 ++++----- app/views/trips/show.html.erb | 5 ---- config/routes.rb | 2 +- 6 files changed, 51 insertions(+), 25 deletions(-) diff --git a/app/controllers/trips_controller.rb b/app/controllers/trips_controller.rb index f069b4ab2..ef0a1b7d3 100644 --- a/app/controllers/trips_controller.rb +++ b/app/controllers/trips_controller.rb @@ -1,5 +1,5 @@ class TripsController < ApplicationController - + layout 'main' def new @trip = Trip.new @bike = Bike.find(params[:bike_id]) @@ -7,30 +7,32 @@ def new @user = User.find(params[:user_id]) end - def create - @bike = Bike.find(params[:bike_id]) - @station = Station.find(params[:station_id]) - @user = User.find(params[:user_id]) - @trip = Trip.new(params.require(:trip).permit(:start_time, - :start_station_id, - :bike_id, - :user_id)) + @trip = Trip.new(trip_params) if @trip.save - redirect_to trip_confirmation_path + redirect_to confirm_path(trip_id: @trip.id) else render :new end end def show - @trip = Trip.find(params[:id]) + @trip = Trip.find(params[:trip_id]) end + def confirmation + @trip = Trip.find(params[:trip_id]) + end + + def update end def edit end + def trip_params + params.require(:trip).permit(:bike_id, :user_id, :start_station_is, :start_time) + end + end diff --git a/app/views/access/login.html.erb b/app/views/access/login.html.erb index 1cb78e2c3..84ac41334 100644 --- a/app/views/access/login.html.erb +++ b/app/views/access/login.html.erb @@ -14,7 +14,6 @@

<%= flash[:notice] %>

<% end %> - <%= form_with model: @user, url: log_in_path do |f| %>
<%= f.label :email, "Email" %> diff --git a/app/views/trips/confirmation.html.erb b/app/views/trips/confirmation.html.erb index da55083ce..9cc638a04 100644 --- a/app/views/trips/confirmation.html.erb +++ b/app/views/trips/confirmation.html.erb @@ -1 +1,32 @@ -confirm trip!! \ No newline at end of file +
+
+
+ Confirmation +
+ Trip is Confirmed! id: + <%= @trip.id %> + +
+
\ No newline at end of file diff --git a/app/views/trips/new.html.erb b/app/views/trips/new.html.erb index 9e3dd76ef..24fa606a4 100644 --- a/app/views/trips/new.html.erb +++ b/app/views/trips/new.html.erb @@ -1,6 +1,7 @@
flexbox vertical stretch"> <%= button_to("Back to Bikes", station_path(@station), class: "mt-3 custom-btn btn-outline", method: :get) %> + <%= form_for(@trip) do |f| %>

New Trip

@@ -19,17 +20,15 @@ -
- - <%= form_for(@trip) do |f| %> - <% # url: tasks_path, method: 'post' %> - - + <%= f.hidden_field :bike_id, value: @bike.identifier %> + <%= f.hidden_field :user_id, value: @user.id %> + <%= f.hidden_field :start_station_is, value: @station.identifier %> Pickup Time <%= f.time_field(:start_time) %> +
<%= f.submit("Create Trip") %> diff --git a/app/views/trips/show.html.erb b/app/views/trips/show.html.erb index a16791ffc..e69de29bb 100644 --- a/app/views/trips/show.html.erb +++ b/app/views/trips/show.html.erb @@ -1,5 +0,0 @@ - - -def update -end - diff --git a/config/routes.rb b/config/routes.rb index 4a5066336..7d690321e 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -7,7 +7,7 @@ get 'main/contact' - get 'trip/confirmation' + get "confirm", to: "trips#confirmation" # resources :bikes From 76911b54dee6ebee0d254a11287355c85eaba8d7 Mon Sep 17 00:00:00 2001 From: Lynn Do Date: Sat, 16 Nov 2024 20:38:55 -0500 Subject: [PATCH 77/89] Remove empty line --- app/views/stations/_leaflet.html.erb | 1 - 1 file changed, 1 deletion(-) diff --git a/app/views/stations/_leaflet.html.erb b/app/views/stations/_leaflet.html.erb index 7e1a3797a..1e96c8401 100644 --- a/app/views/stations/_leaflet.html.erb +++ b/app/views/stations/_leaflet.html.erb @@ -21,5 +21,4 @@ addMarker(map, lats[i], longs[i]); } } - \ No newline at end of file From d5d3898aafecdccd4255bcb38a1f0fce4f1e69c4 Mon Sep 17 00:00:00 2001 From: Jade Lilian Date: Sat, 16 Nov 2024 21:13:58 -0500 Subject: [PATCH 78/89] THE LOCATIONS SHOW UP ON THE MAP --- app/javascript/osm_map.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/app/javascript/osm_map.js b/app/javascript/osm_map.js index 276f209a7..59f13322d 100644 --- a/app/javascript/osm_map.js +++ b/app/javascript/osm_map.js @@ -4,7 +4,7 @@ Answer by user totymedli */ const northamptonLat = '42.328674'; // what it says on the tag -const northamptonLng = '-72.664658'; // rough center of northampton +const northamptonLng = '-72.646'; // rough center of northampton const center = L.latLng(northamptonLat, northamptonLng); /* @@ -24,9 +24,6 @@ function mapInit(element){ // Set map's center to target with zoom 14. map.setView(center, 14); // consider changing zoom - - // Place a marker on the location. - L.marker(center).addTo(map); return map } From a25436079d09baddb7cfd6a2f5162420c7145d2c Mon Sep 17 00:00:00 2001 From: Lynn Do Date: Sat, 16 Nov 2024 22:06:54 -0500 Subject: [PATCH 79/89] Fix bike rendering to check if user == nil --- app/views/bikes/_row.html.erb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/views/bikes/_row.html.erb b/app/views/bikes/_row.html.erb index 9fb6549bc..b5296abc6 100644 --- a/app/views/bikes/_row.html.erb +++ b/app/views/bikes/_row.html.erb @@ -3,16 +3,16 @@ <% user = get_user_info_from_session %> <% station = bike.get_station%> Bike <%= bike.identifier %> - <% if !logged_in? %> + <% if !logged_in? || !user %> <%= button_to('Reserve Bike', {}, class: "mt-3 custom-btn btn-invalid", method: :get) %> Please log in to reserve bike <% else if bike.is_users?(user)%> <%#= button_to('Manage Reservation', {controller: 'stations', action: 'index'}, class: "custom-btn btn-outline", method: :get) %> - <% else if user.has_bike?%> + <% else if user.has_bike? %> <%= button_to('Reserve Bike', {}, class: "mt-3 custom-btn btn-invalid", method: :get) %> Please return your current bike to reserve a new one - <% else if !bike.is_available? %> + <% else if !bike.available? %> <%= button_to('Reserve Bike', {}, class: "mt-3 custom-btn btn-invalid", method: :get) %> Bike is currently Unavailable <% else %> From e335b2277bffbe9df02e2f485a93ee4864f78610 Mon Sep 17 00:00:00 2001 From: Lynn Do Date: Sat, 16 Nov 2024 22:31:47 -0500 Subject: [PATCH 80/89] Adjust layout for account controller --- app/controllers/account_controller.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/app/controllers/account_controller.rb b/app/controllers/account_controller.rb index f113c10c8..dec7e5782 100644 --- a/app/controllers/account_controller.rb +++ b/app/controllers/account_controller.rb @@ -1,5 +1,4 @@ class AccountController < ApplicationController - layout 'main' before_action :get_user_info_from_session def index if !logged_in? || !@user From e9710ea0a93c71cc8693ab0e932062f942147f70 Mon Sep 17 00:00:00 2001 From: Rey Snyder Date: Mon, 18 Nov 2024 13:56:55 -0500 Subject: [PATCH 81/89] removed test code --- app/assets/stylesheets/header.css | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 app/assets/stylesheets/header.css diff --git a/app/assets/stylesheets/header.css b/app/assets/stylesheets/header.css new file mode 100644 index 000000000..e69de29bb From 8ff3cb8ced7d4bb9e191295a55d16402c3f35a9c Mon Sep 17 00:00:00 2001 From: Rey Snyder Date: Mon, 18 Nov 2024 13:57:35 -0500 Subject: [PATCH 82/89] forgot to add these files (see last commit message) --- app/assets/stylesheets/application.css | 1 + app/assets/stylesheets/header.css | 6 ++++++ app/views/bikes/_row.html.erb | 4 ---- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index 21c9ac5bb..7c35026b8 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -12,4 +12,5 @@ * *= require_tree . *= require_self + */ \ No newline at end of file diff --git a/app/assets/stylesheets/header.css b/app/assets/stylesheets/header.css index e69de29bb..84b184bb1 100644 --- a/app/assets/stylesheets/header.css +++ b/app/assets/stylesheets/header.css @@ -0,0 +1,6 @@ +.app-header { + margin-bottom: 3em; + padding: 1.5em 0; + background: rgba(53, 144, 202, 0.95); + position: relative; +} \ No newline at end of file diff --git a/app/views/bikes/_row.html.erb b/app/views/bikes/_row.html.erb index b5296abc6..017bcaa59 100644 --- a/app/views/bikes/_row.html.erb +++ b/app/views/bikes/_row.html.erb @@ -22,10 +22,6 @@ <% end %> <% end %> - <% if user %> - <%= user.email %> - <% end %> - - <% else if user.has_bike? %> + <% else if user.current_bike_id %> <%= button_to('Reserve Bike', {}, class: "mt-3 custom-btn btn-invalid", method: :get) %> Please return your current bike to reserve a new one <% else if !bike.available? %> diff --git a/app/views/stations/show.html.erb b/app/views/stations/show.html.erb index bbe29e848..fd150a18f 100644 --- a/app/views/stations/show.html.erb +++ b/app/views/stations/show.html.erb @@ -1,6 +1,10 @@ <%= button_to('< Back to Stations', {controller: 'stations', action: 'index'}, class: "mt-3 custom-btn btn-outline", method: :get) %>
Info for Station: <%= @station.identifier %>: <%= @station.name %> (<%= @station.address %>) +<% unless @user.current_bike_id.nil? %> + + <%= button_to('Return Bike to This Station', end_confirm_path(trip_id: @trip.id, end_station_id: @station.identifier), class: "mt-3 custom-btn btn-outline", method: :get) %> +<% end %>
<%= Bike.where(current_station_id: @station.id).length %> available bikes: <%= render(partial: "bikes/row", collection: Bike.where(current_station_id: @station.id), as: :bike )%> diff --git a/app/views/trips/confirmation.html.erb b/app/views/trips/confirmation.html.erb index 9cc638a04..fd4ff1018 100644 --- a/app/views/trips/confirmation.html.erb +++ b/app/views/trips/confirmation.html.erb @@ -1,6 +1,7 @@
+ thanks for booking!! Confirmation
Trip is Confirmed! id: diff --git a/app/views/trips/end_comfirmation.html.erb b/app/views/trips/end_comfirmation.html.erb new file mode 100644 index 000000000..00c16f526 --- /dev/null +++ b/app/views/trips/end_comfirmation.html.erb @@ -0,0 +1,2 @@ +Trip ended! + diff --git a/config/routes.rb b/config/routes.rb index 7d690321e..1ffcdda4e 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -8,6 +8,7 @@ get "confirm", to: "trips#confirmation" + get "end_confirm", to: "trips#end_confirmation" # resources :bikes From 3ccb64ffce47d10a1adabfceaa1a4c27528fcc53 Mon Sep 17 00:00:00 2001 From: Rey Snyder Date: Wed, 20 Nov 2024 13:29:32 -0500 Subject: [PATCH 85/89] started shifting the user database to have trip data --- app/assets/stylesheets/header.css | 0 app/views/shared/_header.html.erb | 0 db/migrate/20241114033050_add_bike_to_users.rb | 5 ----- 3 files changed, 5 deletions(-) create mode 100644 app/assets/stylesheets/header.css create mode 100644 app/views/shared/_header.html.erb delete mode 100644 db/migrate/20241114033050_add_bike_to_users.rb diff --git a/app/assets/stylesheets/header.css b/app/assets/stylesheets/header.css new file mode 100644 index 000000000..e69de29bb diff --git a/app/views/shared/_header.html.erb b/app/views/shared/_header.html.erb new file mode 100644 index 000000000..e69de29bb diff --git a/db/migrate/20241114033050_add_bike_to_users.rb b/db/migrate/20241114033050_add_bike_to_users.rb deleted file mode 100644 index f0119889e..000000000 --- a/db/migrate/20241114033050_add_bike_to_users.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddBikeToUsers < ActiveRecord::Migration[7.0] - def change - add_column :users, :current_bike_id, :integer - end -end From 9142621abef66be4ea98c959b698e36b15bac172 Mon Sep 17 00:00:00 2001 From: Rey Snyder Date: Wed, 20 Nov 2024 13:30:06 -0500 Subject: [PATCH 86/89] added some styling and altered te user database --- app/assets/stylesheets/global.css | 1 - app/models/bike.rb | 2 +- app/models/user.rb | 6 +++--- app/views/bikes/_row.html.erb | 5 ++--- db/migrate/20241120010325_add_trip_to_users.rb | 5 +++++ db/schema.rb | 3 ++- 6 files changed, 13 insertions(+), 9 deletions(-) create mode 100644 db/migrate/20241120010325_add_trip_to_users.rb diff --git a/app/assets/stylesheets/global.css b/app/assets/stylesheets/global.css index ca5dcf9cd..1c6c728a2 100644 --- a/app/assets/stylesheets/global.css +++ b/app/assets/stylesheets/global.css @@ -49,7 +49,6 @@ body { transition: 0.1s ease; } - .btn-fill { background: var(--theme-color); color: var(--white-color); diff --git a/app/models/bike.rb b/app/models/bike.rb index b278129e0..2e5860c0f 100644 --- a/app/models/bike.rb +++ b/app/models/bike.rb @@ -5,7 +5,7 @@ class Bike < ApplicationRecord belongs_to :current_station, class_name: :Station, foreign_key: :current_station_id, optional: true def is_users?(user) return false unless user - user.current_bike_id == id + Bike.find(user.current_trip_id).id == id end def available? diff --git a/app/models/user.rb b/app/models/user.rb index e36aa063a..d4562c976 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -7,9 +7,9 @@ class User < ApplicationRecord format: {with: EMAIL_REGEX} has_many :trips, dependent: :destroy - def has_bike? - unless current_bike_id.nil? - current_bike_id + def has_trip? + unless current_trip_id.nil? + current_trip_id end end diff --git a/app/views/bikes/_row.html.erb b/app/views/bikes/_row.html.erb index b5296abc6..e2fb980fc 100644 --- a/app/views/bikes/_row.html.erb +++ b/app/views/bikes/_row.html.erb @@ -8,7 +8,6 @@ Please log in to reserve bike <% else if bike.is_users?(user)%> <%#= button_to('Manage Reservation', {controller: 'stations', action: 'index'}, class: "custom-btn btn-outline", method: :get) %> - <% else if user.has_bike? %> <%= button_to('Reserve Bike', {}, class: "mt-3 custom-btn btn-invalid", method: :get) %> Please return your current bike to reserve a new one @@ -16,8 +15,8 @@ <%= button_to('Reserve Bike', {}, class: "mt-3 custom-btn btn-invalid", method: :get) %> Bike is currently Unavailable <% else %> - <%= link_to 'Reserve Bike', new_trip_path(bike_id: bike.id, station_id: station.id, user_id: user.id), class: 'action new' "mt-3 custom-btn btn-outline" "", method: :get %> - <% end %> + <%= link_to 'Reserve Bike', new_trip_path(bike_id: bike.id, station_id: station.id, user_id: user.id), class: 'action new' "mt-3 custom-btn btn-outline" "", method: :get %> + <% end %> <% end %> <% end %> <% end %> diff --git a/db/migrate/20241120010325_add_trip_to_users.rb b/db/migrate/20241120010325_add_trip_to_users.rb new file mode 100644 index 000000000..b940d9efc --- /dev/null +++ b/db/migrate/20241120010325_add_trip_to_users.rb @@ -0,0 +1,5 @@ +class AddTripToUsers < ActiveRecord::Migration[7.0] + def change + add_column :users, :current_trip_id, :integer + end +end diff --git a/db/schema.rb b/db/schema.rb index 1e824c046..4d69740d2 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.0].define(version: 2024_11_14_204842) do +ActiveRecord::Schema[7.0].define(version: 2024_11_20_010325) do create_table "bikes", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t| t.integer "identifier" t.integer "current_station_id" @@ -49,6 +49,7 @@ t.string "string" t.string "phone_number" t.integer "current_bike_id" + t.integer "current_trip_id" end end From f3c12fd6cea9eade48ee9f36c27aa40518f85680 Mon Sep 17 00:00:00 2001 From: Rey Snyder Date: Wed, 20 Nov 2024 21:25:14 -0500 Subject: [PATCH 87/89] redid the reservation end system to function without the previous bugs (reidrection issues) --- app/controllers/application_controller.rb | 2 -- app/controllers/stations_controller.rb | 4 +++- app/controllers/trips_controller.rb | 14 +++++++------- app/models/bike.rb | 5 +---- app/views/bikes/_row.html.erb | 7 ++----- app/views/stations/show.html.erb | 7 +++---- ...irmation.html.erb => end_confirmation.html.erb} | 0 app/views/trips/new.html.erb | 4 ++-- db/migrate/20241110210524_create_trips.rb | 4 ++-- db/schema.rb | 3 +-- 10 files changed, 21 insertions(+), 29 deletions(-) rename app/views/trips/{end_comfirmation.html.erb => end_confirmation.html.erb} (100%) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index d7e46ea36..84808f420 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -2,7 +2,6 @@ class ApplicationController < ActionController::Base helper_method :get_user_info_from_session helper_method :logged_in? - helper_method :has_bike? def get_user_info_from_session @user = User.find_by(id: session[:user_id]) @@ -11,5 +10,4 @@ def logged_in? # Check user's log in status session[:user_id].present? end - end diff --git a/app/controllers/stations_controller.rb b/app/controllers/stations_controller.rb index 67463824c..b8136fa54 100644 --- a/app/controllers/stations_controller.rb +++ b/app/controllers/stations_controller.rb @@ -14,7 +14,9 @@ def index def show @user = get_user_info_from_session @station = Station.find(params[:id]) - @trip = Trip.find(params[:id]) + unless @user.current_trip_id.nil? + @trip = Trip.find(@user.current_trip_id) + end end end diff --git a/app/controllers/trips_controller.rb b/app/controllers/trips_controller.rb index 46e7db1f6..b14035061 100644 --- a/app/controllers/trips_controller.rb +++ b/app/controllers/trips_controller.rb @@ -9,10 +9,10 @@ def new def create @trip = Trip.new(trip_params) if @trip.save - @bike = Bike.where(:identifier => @trip.bike_id) - @station = Station.where(:identifier => @trip.start_station_is) + @bike = Bike.find(@trip.bike_id) + @station = Station.find(@trip.start_station_is) @user = User.find(@trip.user_id) - @user.update(current_bike_id: @trip.bike_id) + @user.update(current_trip_id: @trip.id) @bike.update(is_available: false, current_station_id: nil) redirect_to confirm_path(trip_id: @trip.id) else @@ -29,10 +29,10 @@ def confirmation def end_confirmation @trip = Trip.find(params[:trip_id]) - @end_station_id = Station.find(params[:end_station_id]) - @user.update(current_bike_id: nil) - @bike.update(is_available: true, current_station_id: @end_station_id) - @trip.update(end_station_id: @end_station_id, end_time: Time.now) + @user = User.find(@trip.user_id) + @bike = Bike.find(@trip.bike_id) + @user.update(current_trip_id: nil) + @bike.update(is_available: true, current_station_id: params[:end_station_id]) end def update diff --git a/app/models/bike.rb b/app/models/bike.rb index 2e5860c0f..eeb6d33a7 100644 --- a/app/models/bike.rb +++ b/app/models/bike.rb @@ -3,10 +3,7 @@ class Bike < ApplicationRecord validates_uniqueness_of :identifier belongs_to :current_station, class_name: :Station, foreign_key: :current_station_id, optional: true - def is_users?(user) - return false unless user - Bike.find(user.current_trip_id).id == id - end + def available? is_available diff --git a/app/views/bikes/_row.html.erb b/app/views/bikes/_row.html.erb index 5fb16cc4e..0a2bb2424 100644 --- a/app/views/bikes/_row.html.erb +++ b/app/views/bikes/_row.html.erb @@ -1,14 +1,12 @@
<% user = get_user_info_from_session %> - <% station = bike.get_station%> + <% station = bike.get_station%> Bike <%= bike.identifier %> <% if !logged_in? || !user %> <%= button_to('Reserve Bike', {}, class: "mt-3 custom-btn btn-invalid", method: :get) %> Please log in to reserve bike - <% else if bike.is_users?(user)%> - <%#= button_to('Manage Reservation', {controller: 'stations', action: 'index'}, class: "custom-btn btn-outline", method: :get) %> - <% else if user.has_bike? %> + <% else if user.has_trip?%> <%= button_to('Reserve Bike', {}, class: "mt-3 custom-btn btn-invalid", method: :get) %> Please return your current bike to reserve a new one <% else if !bike.available? %> @@ -19,7 +17,6 @@ <% end %> <% end %> <% end %> - <% end %> Q9tgkui?(-77(At+`=+iQv49@MOAXr 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 va01Pd`_P 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%0Ak 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�Y#Bg@e(u;TR~2Ygw{qhW+5K- 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 z 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

l{hqaKeO^>vIXCL~%-qdDHk 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 z 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 Date: Thu, 21 Nov 2024 17:01:52 -0500 Subject: [PATCH 89/89] resolve Gemfile.lock duplicates --- Gemfile.lock | 274 +-------------------------------------------------- 1 file changed, 1 insertion(+), 273 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index bafebdaca..6513414b0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -267,6 +267,7 @@ GEM PLATFORMS arm64-darwin + arm64-darwin-23 x86_64-darwin x86_64-linux @@ -301,276 +302,3 @@ RUBY VERSION BUNDLED WITH 2.5.18 - -GEM - remote: https://rubygems.org/ - specs: - actioncable (7.0.8.5) - actionpack (= 7.0.8.5) - activesupport (= 7.0.8.5) - nio4r (~> 2.0) - websocket-driver (>= 0.6.1) - actionmailbox (7.0.8.5) - actionpack (= 7.0.8.5) - activejob (= 7.0.8.5) - activerecord (= 7.0.8.5) - activestorage (= 7.0.8.5) - activesupport (= 7.0.8.5) - mail (>= 2.7.1) - net-imap - net-pop - net-smtp - actionmailer (7.0.8.5) - actionpack (= 7.0.8.5) - actionview (= 7.0.8.5) - activejob (= 7.0.8.5) - activesupport (= 7.0.8.5) - mail (~> 2.5, >= 2.5.4) - net-imap - net-pop - net-smtp - rails-dom-testing (~> 2.0) - actionpack (7.0.8.5) - actionview (= 7.0.8.5) - activesupport (= 7.0.8.5) - rack (~> 2.0, >= 2.2.4) - rack-test (>= 0.6.3) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (7.0.8.5) - actionpack (= 7.0.8.5) - activerecord (= 7.0.8.5) - activestorage (= 7.0.8.5) - activesupport (= 7.0.8.5) - globalid (>= 0.6.0) - nokogiri (>= 1.8.5) - actionview (7.0.8.5) - activesupport (= 7.0.8.5) - builder (~> 3.1) - erubi (~> 1.4) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (7.0.8.5) - activesupport (= 7.0.8.5) - globalid (>= 0.3.6) - activemodel (7.0.8.5) - activesupport (= 7.0.8.5) - activerecord (7.0.8.5) - activemodel (= 7.0.8.5) - activesupport (= 7.0.8.5) - activestorage (7.0.8.5) - actionpack (= 7.0.8.5) - activejob (= 7.0.8.5) - activerecord (= 7.0.8.5) - activesupport (= 7.0.8.5) - marcel (~> 1.0) - mini_mime (>= 1.1.0) - activesupport (7.0.8.5) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 1.6, < 2) - minitest (>= 5.1) - tzinfo (~> 2.0) - addressable (2.8.7) - public_suffix (>= 2.0.2, < 7.0) - autoprefixer-rails (10.4.19.0) - execjs (~> 2) - bcrypt (3.1.20) - bindex (0.8.1) - bootsnap (1.18.4) - msgpack (~> 1.2) - bootstrap (4.1.3) - autoprefixer-rails (>= 6.0.3) - popper_js (>= 1.12.9, < 2) - sass (>= 3.5.2) - builder (3.3.0) - capybara (3.40.0) - addressable - matrix - mini_mime (>= 0.1.3) - nokogiri (~> 1.11) - rack (>= 1.6.0) - rack-test (>= 0.6.3) - regexp_parser (>= 1.5, < 3.0) - xpath (~> 3.2) - concurrent-ruby (1.3.4) - crass (1.0.6) - date (3.3.4) - debug (1.9.2) - irb (~> 1.10) - reline (>= 0.3.8) - dotenv (3.1.4) - dotenv-rails (3.1.4) - dotenv (= 3.1.4) - railties (>= 6.1) - erubi (1.13.0) - execjs (2.10.0) - ffi (1.17.0-arm64-darwin) - globalid (1.2.1) - activesupport (>= 6.1) - i18n (1.14.6) - concurrent-ruby (~> 1.0) - importmap-rails (2.0.3) - actionpack (>= 6.0.0) - activesupport (>= 6.0.0) - railties (>= 6.0.0) - io-console (0.7.2) - irb (1.14.1) - rdoc (>= 4.0.0) - reline (>= 0.4.2) - jbuilder (2.13.0) - actionview (>= 5.0.0) - activesupport (>= 5.0.0) - loofah (2.22.0) - crass (~> 1.0.2) - nokogiri (>= 1.12.0) - mail (2.8.1) - mini_mime (>= 0.1.1) - net-imap - net-pop - net-smtp - marcel (1.0.4) - matrix (0.4.2) - method_source (1.1.0) - mini_mime (1.1.5) - minitest (5.25.1) - msgpack (1.7.3) - mysql2 (0.5.4) - net-imap (0.5.0) - date - net-protocol - net-pop (0.1.2) - net-protocol - net-protocol (0.2.2) - timeout - net-smtp (0.5.0) - net-protocol - nio4r (2.7.3) - nokogiri (1.16.7-arm64-darwin) - racc (~> 1.4) - popper_js (1.16.1) - psych (5.1.2) - stringio - public_suffix (6.0.1) - puma (5.6.9) - nio4r (~> 2.0) - racc (1.8.1) - rack (2.2.10) - rack-test (2.1.0) - rack (>= 1.3) - rails (7.0.8.5) - actioncable (= 7.0.8.5) - actionmailbox (= 7.0.8.5) - actionmailer (= 7.0.8.5) - actionpack (= 7.0.8.5) - actiontext (= 7.0.8.5) - actionview (= 7.0.8.5) - activejob (= 7.0.8.5) - activemodel (= 7.0.8.5) - activerecord (= 7.0.8.5) - activestorage (= 7.0.8.5) - activesupport (= 7.0.8.5) - bundler (>= 1.15.0) - railties (= 7.0.8.5) - rails-dom-testing (2.2.0) - activesupport (>= 5.0.0) - minitest - nokogiri (>= 1.6) - rails-html-sanitizer (1.6.0) - loofah (~> 2.21) - nokogiri (~> 1.14) - railties (7.0.8.5) - actionpack (= 7.0.8.5) - activesupport (= 7.0.8.5) - method_source - rake (>= 12.2) - thor (~> 1.0) - zeitwerk (~> 2.5) - rake (13.2.1) - rb-fsevent (0.11.2) - rb-inotify (0.11.1) - ffi (~> 1.0) - rdoc (6.7.0) - psych (>= 4.0.0) - redis (4.8.1) - regexp_parser (2.9.2) - reline (0.5.10) - io-console (~> 0.5) - rexml (3.3.8) - rubyzip (2.3.2) - sass (3.7.4) - sass-listen (~> 4.0.0) - sass-listen (4.0.0) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - selenium-webdriver (4.10.0) - rexml (~> 3.2, >= 3.2.5) - rubyzip (>= 1.2.2, < 3.0) - websocket (~> 1.0) - sprockets (4.2.1) - concurrent-ruby (~> 1.0) - rack (>= 2.2.4, < 4) - sprockets-rails (3.5.2) - actionpack (>= 6.1) - activesupport (>= 6.1) - sprockets (>= 3.0.0) - stimulus-rails (1.3.4) - railties (>= 6.0.0) - stringio (3.1.1) - tailwindcss-rails (3.0.0) - railties (>= 7.0.0) - tailwindcss-ruby - tailwindcss-ruby (3.4.14-arm64-darwin) - thor (1.3.2) - timeout (0.4.1) - turbo-rails (2.0.11) - actionpack (>= 6.0.0) - railties (>= 6.0.0) - tzinfo (2.0.6) - concurrent-ruby (~> 1.0) - web-console (4.2.1) - actionview (>= 6.0.0) - activemodel (>= 6.0.0) - bindex (>= 0.4.0) - railties (>= 6.0.0) - webdrivers (5.3.1) - nokogiri (~> 1.6) - rubyzip (>= 1.3.0) - selenium-webdriver (~> 4.0, < 4.11) - websocket (1.2.11) - websocket-driver (0.7.6) - websocket-extensions (>= 0.1.0) - websocket-extensions (0.1.5) - xpath (3.2.0) - nokogiri (~> 1.8) - zeitwerk (2.6.18) - -PLATFORMS - arm64-darwin-23 - -DEPENDENCIES - bcrypt (~> 3.1, >= 3.1.12) - bootsnap - bootstrap (~> 4.1.1) - capybara - debug - dotenv-rails - importmap-rails - jbuilder - mysql2 (~> 0.5) - puma (~> 5.0) - rails (~> 7.0.3, >= 7.0.3.1) - redis (~> 4.0) - selenium-webdriver - sprockets-rails - stimulus-rails - tailwindcss-rails - turbo-rails - tzinfo-data - web-console - webdrivers - -RUBY VERSION - ruby 3.1.2p20 - -BUNDLED WITH - 2.5.18

_pRQZYAk)d2$ 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 IM6N<$g8Bg%C%7jM-{1ea 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