From fde6732d4e80be23fc086d44286c1e82e702f682 Mon Sep 17 00:00:00 2001 From: Rick Carlino Date: Thu, 22 Sep 2016 10:03:43 -0500 Subject: [PATCH] Dont need the dashboard controller anymore --- .gitignore | 8 +++- app/controllers/dashboard_controller.rb | 7 --- app/views/dashboard/index.html.haml | 10 ---- config/routes.rb | 4 +- lib/tasks/install_frontend.rake | 16 +++---- public/LICENSE | 21 +++++++++ public/README.md | 34 ++++++++++++++ public/icons/Apple-96.png | Bin 2985 -> 0 bytes public/icons/Asparagus-96.png | Bin 2386 -> 0 bytes public/icons/Avocado-96.png | Bin 3704 -> 0 bytes public/icons/Banana-96.png | Bin 2403 -> 0 bytes public/icons/Barley-96.png | Bin 2666 -> 0 bytes public/icons/Beet-96.png | Bin 2843 -> 0 bytes public/icons/Broccoli-96.png | Bin 3898 -> 0 bytes public/icons/Cabbage-96.png | Bin 5093 -> 0 bytes public/icons/Cactus-96.png | Bin 4335 -> 0 bytes public/icons/Carrot-96.png | Bin 2703 -> 0 bytes public/icons/Celery-96.png | Bin 3862 -> 0 bytes public/icons/Cheese-96.png | Bin 2398 -> 0 bytes public/icons/Cherry-96.png | Bin 3267 -> 0 bytes public/icons/Chili Pepper-96.png | Bin 2524 -> 0 bytes public/icons/Citrus-96.png | Bin 3036 -> 0 bytes public/icons/Coniferous Tree-96.png | Bin 1714 -> 0 bytes public/icons/Corn-96.png | Bin 3350 -> 0 bytes public/icons/Cucumber-96.png | Bin 2346 -> 0 bytes public/icons/Deciduous Tree-96.png | Bin 2840 -> 0 bytes public/icons/Dragon Fruit-96.png | Bin 3566 -> 0 bytes public/icons/Eggplant-96.png | Bin 2624 -> 0 bytes public/icons/Flower-96.png | Bin 3354 -> 0 bytes public/icons/Garlic-96.png | Bin 2802 -> 0 bytes public/icons/Grapes-96.png | Bin 2043 -> 0 bytes public/icons/Grass-96.png | Bin 3589 -> 0 bytes public/icons/Hazelnut-96.png | Bin 3902 -> 0 bytes public/icons/Hops-96.png | Bin 4554 -> 0 bytes public/icons/Kiwi-96.png | Bin 5185 -> 0 bytes public/icons/Kohlrabi-96.png | Bin 3720 -> 0 bytes public/icons/Leek-96.png | Bin 2668 -> 0 bytes public/icons/Lettuce-96.png | Bin 3850 -> 0 bytes public/icons/Maple Leaf-96.png | Bin 2843 -> 0 bytes public/icons/Melon-96.png | Bin 3279 -> 0 bytes public/icons/Mushroom-96.png | Bin 2875 -> 0 bytes public/icons/Natural Food-96.png | Bin 2696 -> 0 bytes public/icons/Nut-96.png | Bin 2627 -> 0 bytes public/icons/Oak Leaf-96.png | Bin 2869 -> 0 bytes public/icons/Olive-96.png | Bin 3692 -> 0 bytes public/icons/Onion-96.png | Bin 4609 -> 0 bytes public/icons/Palm Tree-96.png | Bin 3121 -> 0 bytes public/icons/Paprika-96.png | Bin 2810 -> 0 bytes public/icons/Peach-96.png | Bin 2883 -> 0 bytes public/icons/Peanuts-96.png | Bin 2795 -> 0 bytes public/icons/Pear-96.png | Bin 2617 -> 0 bytes public/icons/Peas-96.png | Bin 2968 -> 0 bytes public/icons/Pineapple-96.png | Bin 4000 -> 0 bytes public/icons/Plum-96.png | Bin 2664 -> 0 bytes public/icons/Pomegranate-96.png | Bin 4193 -> 0 bytes public/icons/Potato-96.png | Bin 2583 -> 0 bytes public/icons/Radish-96.png | Bin 2791 -> 0 bytes public/icons/Raspberry-96.png | Bin 4162 -> 0 bytes public/icons/Sesame-96.png | Bin 4227 -> 0 bytes public/icons/Soy-96.png | Bin 2817 -> 0 bytes public/icons/Spring-96.png | Bin 4384 -> 0 bytes public/icons/Sprout-96.png | Bin 3520 -> 0 bytes public/icons/Steak-96.png | Bin 4126 -> 0 bytes public/icons/Strawberry-96.png | Bin 3390 -> 0 bytes public/icons/Sweet Potato-96.png | Bin 2798 -> 0 bytes public/icons/Tomato-96.png | Bin 2885 -> 0 bytes public/icons/Watermelon-96.png | Bin 2989 -> 0 bytes public/icons/Western-96.png | Bin 1882 -> 0 bytes public/icons/Wheat-96.png | Bin 2885 -> 0 bytes public/icons/cabbage.png | Bin 5093 -> 0 bytes public/icons/seed.png | Bin 2582 -> 0 bytes public/images/favicon.png | Bin 7436 -> 0 bytes public/images/favicon.svg | 4 -- public/package.json | 58 ++++++++++++++++++++++++ public/tests.webpack.js | 2 + public/tsconfig.json | 17 +++++++ public/tslint.json | 58 ++++++++++++++++++++++++ 77 files changed, 207 insertions(+), 32 deletions(-) delete mode 100644 app/controllers/dashboard_controller.rb delete mode 100644 app/views/dashboard/index.html.haml create mode 100644 public/LICENSE create mode 100644 public/README.md delete mode 100644 public/icons/Apple-96.png delete mode 100644 public/icons/Asparagus-96.png delete mode 100644 public/icons/Avocado-96.png delete mode 100644 public/icons/Banana-96.png delete mode 100644 public/icons/Barley-96.png delete mode 100644 public/icons/Beet-96.png delete mode 100644 public/icons/Broccoli-96.png delete mode 100644 public/icons/Cabbage-96.png delete mode 100644 public/icons/Cactus-96.png delete mode 100644 public/icons/Carrot-96.png delete mode 100644 public/icons/Celery-96.png delete mode 100644 public/icons/Cheese-96.png delete mode 100644 public/icons/Cherry-96.png delete mode 100644 public/icons/Chili Pepper-96.png delete mode 100644 public/icons/Citrus-96.png delete mode 100644 public/icons/Coniferous Tree-96.png delete mode 100644 public/icons/Corn-96.png delete mode 100644 public/icons/Cucumber-96.png delete mode 100644 public/icons/Deciduous Tree-96.png delete mode 100644 public/icons/Dragon Fruit-96.png delete mode 100644 public/icons/Eggplant-96.png delete mode 100644 public/icons/Flower-96.png delete mode 100644 public/icons/Garlic-96.png delete mode 100644 public/icons/Grapes-96.png delete mode 100644 public/icons/Grass-96.png delete mode 100644 public/icons/Hazelnut-96.png delete mode 100644 public/icons/Hops-96.png delete mode 100644 public/icons/Kiwi-96.png delete mode 100644 public/icons/Kohlrabi-96.png delete mode 100644 public/icons/Leek-96.png delete mode 100644 public/icons/Lettuce-96.png delete mode 100644 public/icons/Maple Leaf-96.png delete mode 100644 public/icons/Melon-96.png delete mode 100644 public/icons/Mushroom-96.png delete mode 100644 public/icons/Natural Food-96.png delete mode 100644 public/icons/Nut-96.png delete mode 100644 public/icons/Oak Leaf-96.png delete mode 100644 public/icons/Olive-96.png delete mode 100644 public/icons/Onion-96.png delete mode 100644 public/icons/Palm Tree-96.png delete mode 100644 public/icons/Paprika-96.png delete mode 100644 public/icons/Peach-96.png delete mode 100644 public/icons/Peanuts-96.png delete mode 100644 public/icons/Pear-96.png delete mode 100644 public/icons/Peas-96.png delete mode 100644 public/icons/Pineapple-96.png delete mode 100644 public/icons/Plum-96.png delete mode 100644 public/icons/Pomegranate-96.png delete mode 100644 public/icons/Potato-96.png delete mode 100644 public/icons/Radish-96.png delete mode 100644 public/icons/Raspberry-96.png delete mode 100644 public/icons/Sesame-96.png delete mode 100644 public/icons/Soy-96.png delete mode 100644 public/icons/Spring-96.png delete mode 100644 public/icons/Sprout-96.png delete mode 100644 public/icons/Steak-96.png delete mode 100644 public/icons/Strawberry-96.png delete mode 100644 public/icons/Sweet Potato-96.png delete mode 100644 public/icons/Tomato-96.png delete mode 100644 public/icons/Watermelon-96.png delete mode 100644 public/icons/Western-96.png delete mode 100644 public/icons/Wheat-96.png delete mode 100644 public/icons/cabbage.png delete mode 100644 public/icons/seed.png delete mode 100644 public/images/favicon.png delete mode 100644 public/images/favicon.svg create mode 100644 public/package.json create mode 100644 public/tests.webpack.js create mode 100644 public/tsconfig.json create mode 100644 public/tslint.json diff --git a/.gitignore b/.gitignore index 12fe85a55..b91385b48 100755 --- a/.gitignore +++ b/.gitignore @@ -53,4 +53,10 @@ node_modules/ # SmarfDoc Documentation api_docs.md # RailsERD Output -erd.pdf \ No newline at end of file +erd.pdf +# Ignore frontend packages that are source related. +public/src +public/app +public/typings +public/node_modules +public/tools \ No newline at end of file diff --git a/app/controllers/dashboard_controller.rb b/app/controllers/dashboard_controller.rb deleted file mode 100644 index da16729f8..000000000 --- a/app/controllers/dashboard_controller.rb +++ /dev/null @@ -1,7 +0,0 @@ -# A non-resourceful controller for the 'glue' that holds this SPA together. -# Let's try not to overwhelm this control and write as much API as possible. -class DashboardController < ApplicationController - def index - render :index, layout: false - end -end diff --git a/app/views/dashboard/index.html.haml b/app/views/dashboard/index.html.haml deleted file mode 100644 index bc611be3d..000000000 --- a/app/views/dashboard/index.html.haml +++ /dev/null @@ -1,10 +0,0 @@ -!!! -%html{lang: "en"} - %head - %meta{charset: "utf-8"}/ - %meta{content: "width=device-width, initial-scale=1", name: "viewport"}/ - = favicon_link_tag 'favicon.png' - %title= content_for?(:title) ? yield(:title) : "FarmBot" - %body - #root - %script{ src: ENV["JS_FILE_URL"] || "YOU_DIDNT_SET_JS_FILE_URL_IN_YOUR_ENV" } diff --git a/config/routes.rb b/config/routes.rb index 8f7147a8c..7377a8967 100755 --- a/config/routes.rb +++ b/config/routes.rb @@ -17,7 +17,7 @@ FarmBot::Application.routes.draw do devise_for :users, :controllers => {:registrations => "registrations"} # Routes for the single page Javascript app. - get "/app", to: 'dashboard#index', as: :dashboard - match "/app/*path", to: redirect("/app"), via: :all + # get "/app", to: 'dashboard#index', as: :dashboard + # match "/app/*path", to: redirect("/app"), via: :all end diff --git a/lib/tasks/install_frontend.rake b/lib/tasks/install_frontend.rake index 952e7efb9..60d584c7b 100644 --- a/lib/tasks/install_frontend.rake +++ b/lib/tasks/install_frontend.rake @@ -3,13 +3,13 @@ require_relative '../key_gen' namespace :frontend do desc "Install the frontend into /public" task install: :environment do - ` - - git clone https://github.com/FarmBot/farmbot-web-frontend.git public - cd public - npm install - npm run build - - ` + `rm -rf /tmp/farmbot_frontend` + `mkdir /tmp/farmbot_frontend` + `git clone https://github.com/rickcarlino/farmbot-web-frontend.git /tmp/farmbot_frontend + rm -rf /tmp/farmbot_frontend/.git + cp -R /tmp/farmbot_frontend/* public/ + cd public + npm install --production + npm run build` end end diff --git a/public/LICENSE b/public/LICENSE new file mode 100644 index 000000000..689aa206c --- /dev/null +++ b/public/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015 Farmbot.io + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/public/README.md b/public/README.md new file mode 100644 index 000000000..74256bf11 --- /dev/null +++ b/public/README.md @@ -0,0 +1,34 @@ +# Farmbot Web Frontend + + This is the Javascript / HTML / CSS related to Farmbot's browser control app. It depends on a [backend API](https://github.com/FarmBot/farmbot-web-app) (my.farmbot.io by default). + +# Up and Running + +0. [Install node](https://nodejs.org/en/download/) if you haven't already. +1. git clone https://github.com/FarmBot/farmbot-web-frontend.git +2. cd farmbot-web-frontend +3. npm install +4. run `npm start` +5. Visit `http://localhost:8080/` + +# Deploy to Production + +1. run `npm run build` +2. Upload `tools/dist/farmbot-production.min.js` to your server. +3. Add `