GithubHelp home page GithubHelp logo

toshi-ue / app_for_job_change Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 31.63 MB

転職用のポートフォリオ(仮)

Dockerfile 0.05% Ruby 12.40% JavaScript 78.25% HTML 8.19% SCSS 0.62% Shell 0.36% Makefile 0.09% Procfile 0.01% CSS 0.03%
bootstrap4 docker docker-compose jquery mysql rails5 rspec

app_for_job_change's People

Contributors

belion-freee avatar dependabot[bot] avatar toshi-ue avatar

Watchers

 avatar

app_for_job_change's Issues

gem Deviseの導入・設定

概要

Railsのユーザー認証系のgem devise を導入する。

タスク

  • gemをインストール
  • 設定は後々でよい

Procedure(手順)モデルのCRUDを作成する

概要

Procedure(手順)モデルのCRUDを作成する

タスク、変更点

  • ProcudureのCRUDを作成
  • Foodstuffのcreate, update後の遷移先をProcedureのnew, editアクションに変更する -> 今回は見送り

777-デザインカラーを決定する

概要

配色表などのツールを利用してデザインを検討、選定する

Why
デザインが類似サービスと酷似するのを避けるため

タスク

  • デザインカラーの決定(他者と酷似していることを避けたデザインにする)
    • 配色ツールなどを参考にする
    • kurashiru、cookpad、delishkitchenのモバイルアプリと比較する

結論

Ronchi & Double Colonial Whiteをデザインカラーとする

1.加工された状態モデル(Cookedstate)のCRUDを作成

概要

加工された状態モデル(Cookedstate)のCRUDを作成する
ただし管理者(Manager)側のみの機能とする。

タスク、変更点

BootStrap4を導入、設定する

概要

デザインフレームワークBootStrap4を導入する

タスク

  • BootStrap4をインストール
  • BootStrap4の設定を追加

sass-rails -> sassc-railsへの切り替え

概要

sass-railsが非推奨になったため、代替のsassc-railsに変更する

タスク

  • sass-railsを削除
  • sassc-railsをインストール
  • sassc-railsに関する設定を行う

userモデル必要なカラムを付加する

概要

user情報、managerの情報が不足しているためタイトル通りのカラム名を追加する

タスク

  • userモデルにnicknameカラムを追加 <- すでに存在
  • userモデルにavatarカラムを追加
  • managerモデルにnameカラムを追加

development・test環境の設定を追加・修正する

What
development、test用の設定などを追加する
Why

  • パフォーマンスを落とさないため
  • 開発スピードを上げるため

タスク

development

test

  • railsコマンド実行時のスペックファイル自動生成の設定を変更
    • modelspec
    • controllerspec
    • featurespec
    • requestspec
    • systemspec
    • jobspec
    • mailerspec

追記: 取り消し線が引かれたものは設定自体がありませんでした

0.問題点リスト

概要

環境構築したが動作しない物を列挙、時間があれば解決に時間を割くこと

未解決の項目

  • docker環境で gem better_errorsが動作しない
  • systemspecがjs: trueの時にcapybaraのメソッドを認識しない
  • jQueryが動作しない(もしかしたらjs関連全てが動作しない可能性あり)
  • node_modules"@fortawesome/fontawesome-free"が追加されない
    • rails newで作成するときに(--skip-yarnオプションをつけてしまったことが原因?)
      • 関係なし、VSCodeとDockerによる反映が遅いことが原因と思われる
    • BootStrap4のCSSは適用できている

単位テーブル(Unit)の作成

概要

単位テーブル(Unit)を作成する

Why
材料の単位は共通点が多いため

変更

とりあえずenumで対応してみる

関連issue

全テーブルの作成 #19
原材料テーブルの作成 #24
料理食材テーブルの作成 #27

1.Foodcategoryのmodelスペックを作成

概要

Foodcategoryのvalidationのテストを実行する

タスク

  • 料理区分名(name)があれば有効(作成できる)
  • 料理区分名(name)がuniqueであれば有効(作成できる)
  • 料理区分名(name)が重複していれば無効(作成できない)
  • 料理区分名(name)がuniqueでなければ無効(作成できない)

Stock(在庫 - 購入済み食材)モデルを作成する

概要

冷蔵庫の食材を登録するためのモデルを作成する

Why
もここに書くと良いと思う

タスク、変更点

  • Stockモデルを作成する
  • 下記の登録ができるようにする
  • 原材料
  • 個数
  • 登録日

slim-railsの導入、設定、viewファイルの変更

概要

gem slim-rails を導入、設定する

Why
パフォーマンスを少しでも向上させるため

追加タスク、変更点

  • slim-railsのインストール
  • 設定の変更 <- gemをインストールするだけでokでした
  • viewファイルの変換

エラーメッセージを共通化する

概要

エラーメッセージがBootStrap4に未適応のため適応させる

タスク

  • エラーメッセージを共通化
  • BootStrap4に対応させる
  • managers/foodcategoryの各formに適応
  • managers/ingredientの各formに適応

備考

  • 下記のままではBootStrap3の記法のままなのでBootStrap4用に守勢する

ref

料理食材(Foodstuff)のセレクトボックスを連動させる

概要

料理食材(Foodstuff)のCRUDを修正

追加タスク、変更点

  • 食材ジャンルと原材料を連動させる -> 不要になった
  • 食材ジャンルと部位名を連動させる -> 不要になった
  • 原材料をインクリメント検索させる(値はセレクトボックスの中からし
    か選べない)
    -> 不要になった
  • 単位カラム用にテーブルを作成するか、enumで実装するか検討する -> Unitモデルを作成する

管理者ログイン機能を実装

概要

Deviseを利用して管理者ログイン機能を実装する。
ただし、作成済みの管理者を利用した「テスト管理者ログイン機能」も追加すること
Why
評価者の不要な労力を省くため

タスク

  • Deviseによるログイン機能(メールアドレス、パスワードの実装)
  • テストユーザーログイン昨日の実装

付加タスク

  • メール確認・認証機能
  • アカウントロック
  • パスワードリセット機能

gem Deviseを使用してユーザー、管理者を作成する

概要

ユーザーと管理者のモデルを作成する。

Why
テーブル作成時にユーザー、管理者のidがインデックスなどで多用されるため

追加タスク、変更点

rubocopの導入・設定

概要

コーディング規約を守りながらコーディングするためのgem rubocopを導入する(ただし、場合によっては修正する場合あり)。

タスク

  • rubocopの導入
    • .rubocop.yml
    • .rubocop_todo.yml

Docker + Railsの環境構築

概要

RailsとDockerの環境構築をする

Why

  • Dockerを使用しているWeb系企業が多いらしいから
  • AWSなどでスケールさせるときに相性が良い

タスク

  • Dockerで作成したRails環境が動作できるようにする

    • Dockerfileの設定
    • docker-compose.ymlの設定
    • .gitignoreの作成
  • プロジェクトをオプションを付与して作成する

    • DB:MySQL
    • yarnは使わない
    • coffeescriptは使わない
    • turbolinksは使わない
    • minitestは使わない
    • bundle install をスキップさせる

料理レシピ作成のフローを完成させる

概要

現在下記はそれぞれ独立したcrudになっているがそれを一通りのフローにする

  • cuisine
    • foodstuff
      • procedure

追加タスク、変更点

  • Cuisineのcreate, update後の遷移先をFoodstuffのnew, editアクションに変更する
  • FoodStuffのcreate, update後の遷移先をProcedureのnew, editアクションに変更する

注意点

  • 食材の登録がないと公開できないようにする
  • 手順の登録がないと公開できないようにする

ユーザーログイン機能を作成

概要

Deviseを利用してユーザーログイン機能を実装する。
ただし、作成済みのユーザーを利用した「テストユーザーログイン機能」も追加すること
Why
評価者の不要な労力を省くため

タスク

  • Deviseによるログイン機能(メールアドレス、パスワードの実装)
  • テストユーザーログイン昨日の実装

付加タスク

  • メール確認・認証機能
  • アカウントロック
  • パスワードリセット機能

トップページのMVC(仮)を作成

概要

全体の起点になるMVCを作成する

追加タスク

  • scaffoldを使わない
  • indexアクションのみでよし
  • デザインはあとで

0.調査リスト

調査リスト

  • jQueryでのeslint, prettierの設定

  • enumのvalidationはどうすれば良いのか 該当箇所

    • ここ から ここ �へとんで読んでみたが結局どれがbetterなのか?
  • modelのvalidation, enum, associationの順番について 該当箇所

    • どの順番が良いのか?
  • Bulletの警告を修正する方法 (該当箇所)

    • このshowアクションでは@cuisineインスタンスだけでなく、@foodstuffs, @proceduresなどインスタンスを複数利用した方がよいのか

RequestSpecの書き方について - 該当箇所

  • RequestSpecの管理者アカウントの初期作成について(必要ないのか、あるのか?)
  • RequestSpec-インスタンスが存在しない場合のテストについて(必要ないのか?)
  • なぜ管理者としてログインしていないのにテストをパスするのか?
  • updateアクションの異常系のテストは必要ないのか?

全テーブルの作成

概要

現在考えられる限りのテーブルを作成する

Why

  • ユーザー、管理者テーブルができたので全テーブルを作成できる下準備ができた
  • テーブルが完成していないと機能の実装に遅れが出そう

タスク(テーブルの作成)

  • 料理テーブル(Cuisine) #29
  • 料理食材テーブル(Foodstuff) #27
  • 原材料テーブル(Rawmaterial) #24
  • 食材区分テーブル(FoodCategory)
  • 栄養素テーブル(Nutrient)
  • 部位名テーブル(Ingredients) #25
  • 加工された状態テーブル(Cookedstate)
  • 手順テーブル(Procudure) #26
  • 料理手順画像テーブル(Subimage) #28
  • 料理履歴テーブル(Cookinghistory) #30

追加タスク

  • 食材区分テーブル(FoodCategory)のカラム名を
    • manager_id -> applicant_idに変更する

999-Rails全体の日本語化

概要

Rails全体を日本語化する
他のタスクを最優先にし、時間がある時に修正する
時間がない時はタスクに追加していくこと

タスク

  • [ ]
  • [ ]
  • [ ]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.