#環境
macOS 10.15.5
Rails 5.2.4.2
Docker 19.03.12
#概要
オリジナルアプリの概要はCRUDのシステムを意識した簡易的なメモアプリの開発です。
簡易的なアプリと言っても実用性には欠かないよう注意を払いました。行数が増えてもレイアウト崩れが起きないように実装し、文字数制限や空白の項目が新規作成されないようにも設定しました。
Dockerを用いてフレームワークはRailsを使用しました。そしてHerokuにより公開をしています。
#オリジナル性について
HTMLに関してはclass名などは学習サイトをヒントに用いて、デザインは外観は学習サイトをヒントにしましたが実装は全て自走で行いました。
Railsの機能の実装に関して事前に学習サイトを何度も繰り返し行い、CRUDの機能を頭に入れてから今回の作成を行いました。そのため短いコードなどはなるべくサイトなどを参考にせず、自分で覚えた内容で実装し、コマンド操作は基本的に全て頭に入れた内容のみで行いました。
#サイトについて
一覧ページをトップページとして定めメモの項目が個々の詳細が表示できるようにリンク指定をしています。その際に新規投稿された項目が最上部に移動するように実装しました。
class ListsController < ApplicationController
def index
@lists = List.all.order(created_at: :desc)
end
###新規作成ページ
新規作成ページでは空白の内容と141文字以上の内容が実行されないように設定しています。
class List < ApplicationRecord
validates :content, {presence: true, length: {maximum: 140}}
end
###詳細ページ
メモ一覧の個々の項目のリンクから移動すると個々の詳細ページが閲覧できます。そこから「編集」と「削除」を実行することができます。
###編集ページ
編集ページではページを開いたときに編集前の内容が表示されるように実装しています。
<div class="form-bady">
<textarea name="content"><%= @list.content %></textarea>
<input type="submit" value="編集">
</div>
def edit
@list = List.find_by(id: params[:id])
end
#オリジナルアプリを作るにあたり意識したこと
わたしは自走できるエンジニアとしてスキルを身に付けたい!という思いからどんなやり方がそんなエンジニアに近づける方法なのか良く自問自答をします。今回このシンプルなメモアプリを作成しようと考えたのはRailsのCRUDの機能やMVCは完璧に落とし込もうと考えたのでこのシンプルさにまとめてみました。
今後はログイン機能やユーザーごとのアクセス権限を設けたページの作成などの機能を有したアプリの作成などにも取り組みたいです!