Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
f0da1d5
initial nuuuu commit
nuuuu Apr 5, 2021
8c2dffc
new rails app
nuuuu Apr 5, 2021
9a0b8e0
create models
nuuuu Apr 5, 2021
de068a9
energy_histories修正(label追加)
nuuuu Apr 5, 2021
e612cb5
発電状況データのインポート機能
nuuuu Apr 5, 2021
94bd7a6
開発状況をコメント
nuuuu Apr 5, 2021
092268e
house_users空画面
nuuuu Apr 5, 2021
b8ace49
house_users import logic
nuuuu Apr 6, 2021
6a7c28b
model association 追加
nuuuu Apr 6, 2021
20816b4
house user list
nuuuu Apr 6, 2021
a127d66
house user show
nuuuu Apr 6, 2021
9c5f9a4
house_users indexページにページングを導入
nuuuu Apr 6, 2021
d876f0d
進捗を更新
nuuuu Apr 6, 2021
1a1d32b
house user 別 energy histories をグラフ化
nuuuu Apr 6, 2021
6a64c5a
開発状況の補足
nuuuu Apr 6, 2021
06a6e21
house user インポート画面
nuuuu Apr 6, 2021
34093a6
form_withへ変更
nuuuu Apr 6, 2021
cc86db1
energy history インポート機能
nuuuu Apr 6, 2021
2520914
bulma 導入
nuuuu Apr 6, 2021
83d590d
ナビゲーションバー作成
nuuuu Apr 6, 2021
7ace603
house usersへbulma適用拡大
nuuuu Apr 6, 2021
4411098
house usersへbulma適用拡大
nuuuu Apr 6, 2021
b05ba09
viewを日本語化&css brushup
nuuuu Apr 7, 2021
de4fb79
alert brushup
nuuuu Apr 7, 2021
7371788
html & css brushup
nuuuu Apr 7, 2021
d069c76
トップページを用意
nuuuu Apr 7, 2021
5fd661b
todo追加
nuuuu Apr 7, 2021
babc426
予期されるimport errorを画面にアラート表示する
nuuuu Apr 7, 2021
c01d87e
家庭詳細その他ブラッシュアップ
nuuuu Apr 7, 2021
3916668
開発マシン要件を追加
nuuuu Apr 7, 2021
73b3db9
開発マシン要件を追加
nuuuu Apr 7, 2021
885e4d1
update todo
nuuuu Apr 7, 2021
2d2f056
起動方法を更新
nuuuu Apr 7, 2021
86a5113
update todo
nuuuu Apr 7, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions fullstack_challenge_1/challenges/nuuuu/.browserslistrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
defaults
10 changes: 10 additions & 0 deletions fullstack_challenge_1/challenges/nuuuu/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# See https://git-scm.com/docs/gitattributes for more about git attribute files.

# Mark the database schema as having been generated.
db/schema.rb linguist-generated

# Mark the yarn lockfile as having been generated.
yarn.lock linguist-generated

# Mark any vendored files as having been vendored.
vendor/* linguist-vendored
40 changes: 40 additions & 0 deletions fullstack_challenge_1/challenges/nuuuu/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# See https://help.github.com/articles/ignoring-files for more about ignoring files.
#
# If you find yourself ignoring temporary files generated by your text editor
# or operating system, you probably want to add a global ignore instead:
# git config --global core.excludesfile '~/.gitignore_global'

# Ignore bundler config.
/.bundle

# Ignore the default SQLite database.
/db/*.sqlite3
/db/*.sqlite3-*

# Ignore all logfiles and tempfiles.
/log/*
/tmp/*
!/log/.keep
!/tmp/.keep

# Ignore pidfiles, but keep the directory.
/tmp/pids/*
!/tmp/pids/
!/tmp/pids/.keep


/public/assets
.byebug_history

# Ignore master key for decrypting credentials and more.
/config/master.key

/public/packs
/public/packs-test
/node_modules
/yarn-error.log
yarn-debug.log*
.yarn-integrity

# rubymine
/.idea/
1 change: 1 addition & 0 deletions fullstack_challenge_1/challenges/nuuuu/.ruby-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.0.0
54 changes: 54 additions & 0 deletions fullstack_challenge_1/challenges/nuuuu/Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby '3.0.0'

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails', branch: 'main'
gem 'rails', '~> 6.1.3', '>= 6.1.3.1'
# Use Puma as the app server
gem 'puma', '~> 5.0'
# Use SCSS for stylesheets
gem 'sass-rails', '>= 6'
# Transpile app-like JavaScript. Read more: https://github.com/rails/webpacker
gem 'webpacker', '~> 5.0'
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
gem 'turbolinks', '~> 5'

gem 'mysql2'

# Reduces boot times through caching; required in config/boot.rb
gem 'bootsnap', '>= 1.4.4', require: false

gem 'pagy'

gem 'chartkick'

gem 'bulma-rails'


group :development, :test do
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
end

group :development do
# Access an interactive console on exception pages or by calling 'console' anywhere in the code.
gem 'web-console', '>= 4.1.0'
# Display performance information such as SQL time and flame graphs for each request in your browser.
# Can be configured to work on production as well see: https://github.com/MiniProfiler/rack-mini-profiler/blob/master/README.md
gem 'rack-mini-profiler', '~> 2.0'
gem 'listen', '~> 3.3'
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
gem 'spring'
end

group :test do
# Adds support for Capybara system testing and selenium driver
gem 'capybara', '>= 3.26'
gem 'selenium-webdriver'
# Easy installation and use of web drivers to run system tests with browsers
gem 'webdrivers'
end

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
229 changes: 229 additions & 0 deletions fullstack_challenge_1/challenges/nuuuu/Gemfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,229 @@
GEM
remote: https://rubygems.org/
specs:
actioncable (6.1.3.1)
actionpack (= 6.1.3.1)
activesupport (= 6.1.3.1)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
actionmailbox (6.1.3.1)
actionpack (= 6.1.3.1)
activejob (= 6.1.3.1)
activerecord (= 6.1.3.1)
activestorage (= 6.1.3.1)
activesupport (= 6.1.3.1)
mail (>= 2.7.1)
actionmailer (6.1.3.1)
actionpack (= 6.1.3.1)
actionview (= 6.1.3.1)
activejob (= 6.1.3.1)
activesupport (= 6.1.3.1)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0)
actionpack (6.1.3.1)
actionview (= 6.1.3.1)
activesupport (= 6.1.3.1)
rack (~> 2.0, >= 2.0.9)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0)
actiontext (6.1.3.1)
actionpack (= 6.1.3.1)
activerecord (= 6.1.3.1)
activestorage (= 6.1.3.1)
activesupport (= 6.1.3.1)
nokogiri (>= 1.8.5)
actionview (6.1.3.1)
activesupport (= 6.1.3.1)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.1, >= 1.2.0)
activejob (6.1.3.1)
activesupport (= 6.1.3.1)
globalid (>= 0.3.6)
activemodel (6.1.3.1)
activesupport (= 6.1.3.1)
activerecord (6.1.3.1)
activemodel (= 6.1.3.1)
activesupport (= 6.1.3.1)
activestorage (6.1.3.1)
actionpack (= 6.1.3.1)
activejob (= 6.1.3.1)
activerecord (= 6.1.3.1)
activesupport (= 6.1.3.1)
marcel (~> 1.0.0)
mini_mime (~> 1.0.2)
activesupport (6.1.3.1)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
zeitwerk (~> 2.3)
addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0)
bindex (0.8.1)
bootsnap (1.7.3)
msgpack (~> 1.0)
builder (3.2.4)
bulma-rails (0.9.1)
sassc (~> 2.0)
byebug (11.1.3)
capybara (3.35.3)
addressable
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)
chartkick (4.0.0)
childprocess (3.0.0)
concurrent-ruby (1.1.8)
crass (1.0.6)
erubi (1.10.0)
ffi (1.15.0)
globalid (0.4.2)
activesupport (>= 4.2.0)
i18n (1.8.10)
concurrent-ruby (~> 1.0)
listen (3.5.1)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
loofah (2.9.0)
crass (~> 1.0.2)
nokogiri (>= 1.5.9)
mail (2.7.1)
mini_mime (>= 0.1.1)
marcel (1.0.1)
method_source (1.0.0)
mini_mime (1.0.3)
minitest (5.14.4)
msgpack (1.4.2)
mysql2 (0.5.3)
nio4r (2.5.7)
nokogiri (1.11.2-x86_64-linux)
racc (~> 1.4)
pagy (4.1.0)
public_suffix (4.0.6)
puma (5.2.2)
nio4r (~> 2.0)
racc (1.5.2)
rack (2.2.3)
rack-mini-profiler (2.3.1)
rack (>= 1.2.0)
rack-proxy (0.6.5)
rack
rack-test (1.1.0)
rack (>= 1.0, < 3)
rails (6.1.3.1)
actioncable (= 6.1.3.1)
actionmailbox (= 6.1.3.1)
actionmailer (= 6.1.3.1)
actionpack (= 6.1.3.1)
actiontext (= 6.1.3.1)
actionview (= 6.1.3.1)
activejob (= 6.1.3.1)
activemodel (= 6.1.3.1)
activerecord (= 6.1.3.1)
activestorage (= 6.1.3.1)
activesupport (= 6.1.3.1)
bundler (>= 1.15.0)
railties (= 6.1.3.1)
sprockets-rails (>= 2.0.0)
rails-dom-testing (2.0.3)
activesupport (>= 4.2.0)
nokogiri (>= 1.6)
rails-html-sanitizer (1.3.0)
loofah (~> 2.3)
railties (6.1.3.1)
actionpack (= 6.1.3.1)
activesupport (= 6.1.3.1)
method_source
rake (>= 0.8.7)
thor (~> 1.0)
rake (13.0.3)
rb-fsevent (0.10.4)
rb-inotify (0.10.1)
ffi (~> 1.0)
regexp_parser (2.1.1)
rubyzip (2.3.0)
sass-rails (6.0.0)
sassc-rails (~> 2.1, >= 2.1.1)
sassc (2.4.0)
ffi (~> 1.9)
sassc-rails (2.1.2)
railties (>= 4.0.0)
sassc (>= 2.0)
sprockets (> 3.0)
sprockets-rails
tilt
selenium-webdriver (3.142.7)
childprocess (>= 0.5, < 4.0)
rubyzip (>= 1.2.2)
semantic_range (3.0.0)
spring (2.1.1)
sprockets (4.0.2)
concurrent-ruby (~> 1.0)
rack (> 1, < 3)
sprockets-rails (3.2.2)
actionpack (>= 4.0)
activesupport (>= 4.0)
sprockets (>= 3.0.0)
thor (1.1.0)
tilt (2.0.10)
turbolinks (5.2.1)
turbolinks-source (~> 5.2)
turbolinks-source (5.2.0)
tzinfo (2.0.4)
concurrent-ruby (~> 1.0)
web-console (4.1.0)
actionview (>= 6.0.0)
activemodel (>= 6.0.0)
bindex (>= 0.4.0)
railties (>= 6.0.0)
webdrivers (4.6.0)
nokogiri (~> 1.6)
rubyzip (>= 1.3.0)
selenium-webdriver (>= 3.0, < 4.0)
webpacker (5.2.1)
activesupport (>= 5.2)
rack-proxy (>= 0.6.1)
railties (>= 5.2)
semantic_range (>= 2.3.0)
websocket-driver (0.7.3)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
xpath (3.2.0)
nokogiri (~> 1.8)
zeitwerk (2.4.2)

PLATFORMS
x86_64-linux

DEPENDENCIES
bootsnap (>= 1.4.4)
bulma-rails
byebug
capybara (>= 3.26)
chartkick
listen (~> 3.3)
mysql2
pagy
puma (~> 5.0)
rack-mini-profiler (~> 2.0)
rails (~> 6.1.3, >= 6.1.3.1)
sass-rails (>= 6)
selenium-webdriver
spring
turbolinks (~> 5)
tzinfo-data
web-console (>= 4.1.0)
webdrivers
webpacker (~> 5.0)

RUBY VERSION
ruby 3.0.0p0

BUNDLED WITH
2.2.3
43 changes: 43 additions & 0 deletions fullstack_challenge_1/challenges/nuuuu/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# nuuuu test app

## 開発マシンの要件

* 動作確認ずみOS: Ubuntu Linux 20.04
* docker, docker-composeをインストールしておくこと
* ruby 3.0.0をインストールしておくこと
* yarnをインストールしておくこと(動作確認済みver 1.22.5)
* mysqlクライアントライブラリをインストールしておくこと(see https://github.com/brianmario/mysql2 )

## 起動方法

```
bundle install
yarn install

docker-compose -d # mysql 起動

rails db:craete
rails db:migrate

rails s # => loalhost:3000 で画面表示
```

## 機能と開発状況

* データインポート
* CSVファイルをもとにinsertするロジック
* [x] 家庭情報 `HouseUsers::ImportService`
* [x] 発電状況 `EnergyHistories::ImportService`
* ファイルをuploadしてinsertする画面 (insertするロジックを呼ぶ)
* [x] 家庭情報 `GET /house_users/import`
* [x] 発電状況 `GET /energy_histories/import`
* 可視化
* [x] 家庭一覧 `GET /house_users`
* [x] 特定家庭の発電状況グラフ `GET /house_users/:house_user_id`
* その他改良したほうがいい点
* [ ] rails app部分のdocker化
* [ ] test code
* [ ] DB周り (用途に応じたインデックス設計(year, month別表示など)、要件に応じたユニーク制約追加など)
* [ ] rails new で作られた不要ファイルの削除
* [ ] よきせぬエラー発生時のエラーページ表示
* [ ] ロギング
6 changes: 6 additions & 0 deletions fullstack_challenge_1/challenges/nuuuu/Rakefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Add your own tasks in files placed in lib/tasks ending in .rake,
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.

require_relative "config/application"

Rails.application.load_tasks
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
//= link_tree ../images
//= link_directory ../stylesheets .css
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
@import "bulma";
Loading