2024/1/23 ホーム・新規登録画面のレイアウト作成

今日の進捗

今日は、個人で開発している「Imemo」というWebサービスの、新規登録とHome画面のレイアウトを整えてみました。

上の画像のように、新規画面・ログイン画面・ホーム画面しかできていないので、3つの画面のレイアウトを整えました。まだデザインや配色が決まっていないので早くFigmaなどを使って考えていきたい。

フロント側は、html css bootstrap バックエンドは Rails を使用しています。

ホーム画面のレイアウト

今までは、ログインをしないとマンダラート機能が使えなかったのですが、ログインしていなくてもお試し程度に使ってみたい方向けに、ホーム画面にマンダラートを設置しました。

「エンジニアはコードで語る」というので、下にコードを載せておきます。

index.html.erb (ホーム画面のマンダラートのコード)

<h3 class="mb-3">マンダラート機能</h3>
  <div class="container-fluid center-block" style="max-width: 1000px;">
    <div class="row">
      <% range = 1..9 %>
      <% range.each do |i| %>
        <div class="col-sm-4 p-1">
          <div class="container-fluid">
            <div class="row">
              <% range.each do |j| %>
                <div class="col-4 p-0">
                  <input type="text" class="cell" name="body<%= i %><%= j %>" style="width:100%; height:60px;">
                </div>
              <% end %>
            </div>
          </div>
        </div>
      <% end %>
    </div>
  </div>

application.scss


@import "bootstrap";
@import "font-awesome";

body {
  margin: 0 auto;
  text-align: center;
  padding:0 1rem;
}

全体的に中央ぞろえにしたかったので、このような設定にしました。また、ホーム画面とログイン画面などで、個別にSCSSを適応したかったので、app/assets/stylesheetsに、それそれの画面のSCSSのファイルを作り、読み込めるようにしました。

詳しくは、以下のコミットに書いてあります。

https://github.com/iwatanabee/Idea-memory/commit/49a0f5f5f40a5161d226f4416606905087be0cb6

2024/1/24 テストコード・CI/CDを作成

今日の進捗

今日は、テストコードとやらを書いた。 明日が期末テストなので、少ししかコードが書けなかった。

システム開発において、テストコードとCI/CDは必ず使うので、ここいらで試しに使用してみようと考えた。

テストコードは、rspecとfactory_botで作成し、試しにdeviseの認証ができているかを確認するコードを書いてみた。

CI/CDは色々考えた結果、GitHub Actions を導入することにした。Circle CIの方がビルドが早いらしいが、Github Actions の方が管理がしやすいと理由から、導入した。

導入方法は、以下のドキュメントを参考にした↓

テストコード: https://github.com/heartcombo/devise?tab=readme-ov-file#test-helpers

GitHub Actions:https://docs.github.com/ja/actions/quickstart/

とりあえず、rspecのお試しテストコードとActionsが導入できたので、今日は良しとする

docker-compose exec web bundle exec rspec

HomeHelper
  add some examples to (or delete) /myapp/spec/helpers/home_helper_spec.rb (PENDING: Not yet implemented)

User
  User Registration
    name, mail, password, password_confirmation registration

Homes
  GET /
    returns http success

home/index.html.erb
  add some examples to (or delete) /myapp/spec/views/home/index.html.erb_spec.rb (PENDING: Not yet implemented)

Pending: (Failures listed here are expected and do not affect your suite's status)

  1) HomeHelper add some examples to (or delete) /myapp/spec/helpers/home_helper_spec.rb
     # Not yet implemented
     # ./spec/helpers/home_helper_spec.rb:14

  2) home/index.html.erb add some examples to (or delete) /myapp/spec/views/home/index.html.erb_spec.rb
     # Not yet implemented
     # ./spec/views/home/index.html.erb_spec.rb:4


Finished in 5.12 seconds (files took 4.04 seconds to load)
4 examples, 0 failures, 2 pending

2024/01/26 GitHub Copilot を導入

テスト期間に開発をするものではないと、改めて思う。

自分で考えるだけだと、限界がある&時間が足りないので、便利なツールである GitHub Copilot というAIコーディングツールを導入してみることにした。学生だと無料で使えるほか、個人でも30日間の無料トライアルがあるため、試験的に導入してみるのもいいと思う。

コードを書いているとコード保管をしてくれる機能を学生だと無料で使うことができるので、とても便利。