Skip to content

lsesmpmido/sinatra-practice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QuickNote

Sinatraによってlocalhost上で実行できるメモアプリです。メモアプリとして、メモの作成・閲覧・編集・削除などの基本的な機能を備えています。

image

目次

動作要件

実行には、Gemで以下のファイルが必要

  • pg
  • rackup
  • rexml
  • sinatra
  • sinatra-contrib

導入方法

  1. 以下のコマンドでリポジトリをクローンする
git clone -b develop_use-postgresql https://github.com/lsesmpmido/sinatra-practice.git
  1. クローンしたリポジトリ内にディレクトリを移動
cd sinatra-practice
  1. リポジトリ内のGemfileを使用して以下の操作で必要なGemをインストール
bundle install

環境構築

DBの作成

  1. psqlにログインする
sudo -u postgres psql
  1. 以下のSQL文でデータベースを新規作成する
CREATE DATABASE newdb;
  1. データベースに対するすべての権限を付与
GRANT ALL PRIVILEGES ON DATABASE newdb TO your_user;
  1. 作成したデータベース内に入る
\c newdb;
  1. 以下のSQL文でnoteテーブルを新規作成する
CREATE TABLE note (
    id SERIAL PRIMARY KEY,
    title VARCHAR(255),
    content TEXT
);
  1. 作成したテーブルに対して以下の権限を設定
-- テーブルに対するデフォルト権限を設定
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON TABLES TO your_user;

-- シーケンスに対するデフォルト権限を設定
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT USAGE, SELECT ON SEQUENCES TO your_user;

環境変数の設定

  • sqlに接続するために必要な設定を以下のコマンドで環境変数に設定する
    • DB_NAMEはnoteになる
    • DB_HOSTのデフォルトはlocalhost
export DB_NAME='your_db_name'
export DB_USER='your_db_user'
export DB_PASSWORD='your_db_password'
export DB_HOST='your_db_host'

使用方法

アプリの起動

  1. クローンしたリポジトリ内にディレクトリ内で以下のコマンドを実行
ruby quicknote.rb
  1. ブラウザを起動し、http://localhost:4567/ にアクセスすることでアプリ画面を開く

メモの新規作成

  1. ホーム画面に移動し、「+アイコン」を選択
  1. 「ここにタイトルを入力」にメモのタイトルを、「ここにメッセージを入力」の欄にメモの内容を記入する
  1. 「保存ボタン」を押すと、メモの内容を保存することができる

メモの閲覧

  1. ホーム画面に移動し、閲覧したいメモを選択
  1. 選択すると画像のようにメモの内容を確認することができる

メモの編集

  1. ホーム画面に移動し、編集したいメモを選択
  1. 「編集ボタン」を選択する
  1. テキストを選択し、メモの編集を行う
  1. 「保存ボタン」を押すと、編集したメモの内容を保存することができる

メモの削除

  1. ホーム画面に移動し、削除したいメモを選択
  1. 「削除ボタン」を選択する
  1. 自動でホーム画面に遷移し、実際に選択したメモが消えていることが確認できる

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors