7
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Ruby on Railsでミニアプリ

Last updated at Posted at 2019-06-05

はじめに

初学者のアウトプット記事です。

今回の内容は
就職活動中で作ったポートフォリオ(ミニアプリ)の説明です。

ご指摘アドバイス等ありましたらよろしくお願いします。

ポートフォリオ

開発環境

ruby 2.5.1
rails 5.2.3
本番環境 AWS/S3
DB:Mysql5.6

URL

http://3.13.98.161/

  • ログイン用テストユーザー
  • email: testtaro@test
  • password: 123456

主な機能

■deviseを用いたユーザー管理機能
□ ユーザー新規登録
□ ユーザーログイン・ログアウト

■記事管理機能
□記事投稿(写真、タイトル、記事文章、カテゴリ、日時、ユーザー名)
□記事編集(更新、削除)
□記事詳細
□カテゴリ毎に投稿を一覧表示
□ログインユーザーの投稿一覧表示

■その他
□投稿記事への非同期通信イイね機能。
□font-awesome
□ページネーション(kaminari)
□フッター部分にTwitter・Facebook・LINEのシェアボタン
□capistranoを用いてAWSに自動デプロイ
□画像の保存先をS3に指定

概要

主におもちゃに特化した写真記事を投稿しユーザ同士共有して閲覧できるアプリです。

何ができるのか

・おもちゃに関する記事投稿(写真、タイトル、記事文章、カテゴリ、日時、ユーザー名)ができます。

ポートフォリオ用投稿.mov.gif

・記事一覧表示(カテゴリ毎、ログインしてるユーザの投稿一覧)し、写真をクリックすると詳細画面にアクセスできます。
一覧.mov.gif

・記事詳細画面にて記事に対してイイねボタンが押せます。
ポートフォリオイイネボタン.mov.gif

・記事詳細画面から編集画面に進み削除、内容の更新ができます。
更新
更新ポート.mov.gif
削除
削除.mov.gif

・Twitter,Facebook,LINEでシェアできるシェアボタン
シェアボタン.mov.gif

DB設計

productsテーブル

Column Type Options
name text null: false, unique:true
description text null: false
like_count integer
category_id integer
user_id integer

Association

  • belongs_to :category
  • belongs_to :user
  • has_many :likes, dependent: :destroy
  • has_many :images, dependent: :destroy

usersテーブル

Column Type Options
name text null: false, unique:true
e_mail text null: false , unique:true
password text null :false

Association

  • has_many :products, dependent: :destroy
  • has_many :likes, dependent: :destroy

likesテーブル

Column Type Options
user_id reference foreign_key: true
group_id reference foreign_key: true

Association

  • belongs_to :product, counter_cache: :likes_count
  • belongs_to :user

categoriesテーブル

Column Type Options
name string null: false

Association

  • has_many :products

今回の作成をしてみて

必要な機能を洗い出しDB設計して各機能を実装しました。
実装している段階でエラーが発生しbiding.pryやrails cをよく使用し仮説検証をしました。
今回特にAWSへのデプロイでのエラーが多く、本番環境のlogを確認してどこで何が起きているのかを考え分からない部分は検索しながら解決していきました。
特に今回ハマった部分の記事です。
Rails本番環境(AWS)S3に画像投稿できなかった
今回の作成を通して自分の中ではlogをしっかり確認するのが大事だということの学びが大きかったです。

課題

□記事に対するコメント機能実装(非同期通信)
□rspecでモデルのバリデーションテストは書けたが、コントローラーのテストは書けてない。
□レスポンシブ化(スマホ対応していない)

最後に

Github
https://github.com/RyunosukeFuku

Twitter
https://twitter.com/hellhellmymy?lang=ja

7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?