Skip to content

Ryooo-k/memo_app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SinatraでシンプルなWebアプリを作ろう

プラクティス「Sinatra を使ってWebアプリケーションの基本を理解する」の課題提出用のリポジトリです。

課題のメモアプリを作成しましたので、ご確認お願いします。

要件

  • Ruby 3.2.2+

手順

DBの環境設定

postgreSQLのインストール

参考記事を参考に、postgreSQLをインストールする

userの設定方法

postgreSQLをインストール後、ターミナルで下記コマンドを実行し、ユーザーmemoを作成する。

createuser -P memo

このコマンドを実行後、パスワード設定のプロンプトが表示されるので、パスワードをpassで設定する。

Enter password for new role: pass #このpassはターミナルで表示されない
Enter it again: pass #もう一度passを入力

データベースの作成方法

データベースにアクセスする。

sudo -u postgres psql

ユーザー名がmemoでデータベースdb_memoを作成する。 また、エンコーディングはUTF8を指定する。

postgres=# CREATE DATABASE db_memo WITH OWNER memo ENCODING 'UTF8' TEMPLATE template0;

テーブルを作成する

db_memoのデータベースに移動する。

postgres=# \c db_memo

テーブルmemosを作成する。

db_memo=# CREATE TABLE Memos (
  id VARCHAR PRIMARY KEY,
  title VARCHAR NOT NULL,
  content VARCHAR NOT NULL,
  UNIQUE (id)
);

権限を付与する

ユーザーmemoがテーブルmemosに対して削除、更新、追加ができるように権限を付与する。

db_memo=# GRANT SELECT, INSERT, UPDATE, DELETE ON TABLE memos TO memo;

以上でDBの環境設定は完了。

memoアプリの環境設定

  1. 作業PCの任意の作業ディレクトリでgit clone をしてください。
$ git clone -b db https://github.com/自分のアカウント名/memo_app.git
  1. memo_appディレクトリが作成されますので、memo_appディレクトリに移動してください。
$ cd memo_app/
  1. Bundlerのインストールしてください。
$ gem install bundler
  1. gemをインストールしてください。
$ bundle install --path vendor/bundle
  1. メモアプリを起動してください。
$ bundle exec ruby main.rb

※起動した際、下記が表示されますが、何もせずそのまま次の作業に移ってください。

== Sinatra (v3.1.0) has taken the stage on 4567 for development with backup from Puma
Puma starting in single mode...
* Puma version: 6.4.0 (ruby 3.2.2-p53) ("The Eagle of Durango")
*  Min threads: 0
*  Max threads: 5
*  Environment: development
*          PID: 23744
* Listening on http://127.0.0.1:4567
* Listening on http://[::1]:4567
Use Ctrl-C to stop

# この画面には触れず手順8を行う
  1. ブラウザを開いて、メモアプリにアクセスしてください。
http://localhost:4567/memos
  1. アクセス出来たら、メモアプリが利用できます。

その他

  • rubocop-fjord の設定方法はこちらを参照してください。
  • erb_lint の設定方法はこちらを参照してください。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published