diff --git a/Procfile b/Procfile new file mode 100644 index 0000000..da4175f --- /dev/null +++ b/Procfile @@ -0,0 +1,2 @@ +web: bundle exec rails s +release: bundle exec rails db:migrate \ No newline at end of file diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 8805bb9..eb05cdd 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -1,7 +1,12 @@ class ApplicationController < ActionController::API include Response + include ActionView::Layouts include ActionController::HttpAuthentication::Basic::ControllerMethods http_basic_authenticate_with name: ENV['BASIC_AUTH_USERNAME'], password: ENV['BASIC_AUTH_PASSWORD'] + + def frontend_index_html + render file: 'protected_public/index.html' + end end diff --git a/config/routes.rb b/config/routes.rb index 89da8c0..94edc0d 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -6,7 +6,12 @@ Rails.application.routes.draw do get 'cash' end end - end + + root to: 'application#frontend_index_html' + + get '*path', to: 'application#frontend_index_html', constraints: lambda { |request| + !request.xhr? && request.format.html? + } # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html end diff --git a/package.json b/package.json index e49a089..b052abd 100644 --- a/package.json +++ b/package.json @@ -1,4 +1,13 @@ { + "engines": { + "node": "10.15.3", + "yarn": "1.15.2" + }, + "scripts": { + "build": "yarn --cwd client install && yarn --cwd client build", + "deploy": "cp -a client/build/. protected_public/", + "heroku-postbuild": "yarn build && yarn deploy" + }, "dependencies": { "react-router-dom": "^5.0.1" } diff --git a/protected_public/.gitkeep b/protected_public/.gitkeep new file mode 100644 index 0000000..e69de29