IMG_3525.jpg Add files via upload 4 months ago
IMG_3553.jpg Add files via upload 4 months ago
IMG_3560.jpg Add files via upload 4 months ago
IMG_3561.jpg Add files via upload 4 months ago
IMG_3562.jpg Add files via upload 4 months ago
IMG_3563.jpg Add files via upload 4 months ago
IMG_3564.jpg Add files via upload 4 months ago
IMG_3565.jpg Add files via upload 4 months ago
IMG_3566.jpg Add files via upload 4 months ago
IMG_3568.jpg Add files via upload 4 months ago
IMG_3571.jpg Add files via upload 4 months ago
README.md Update README.md 3 months ago
README.md

ファンファーム バックエンド

「ファンファーム」のバックエンドリポジトリです。

  • 使用言語:Ruby
  • フレームワーク:Sinatra
  • データベース:SQLite3

セットアップ手順

1. 必要なGemのインストール

Bundlerを使いGemfileに以下のGemを記載した

gem "sinatra" gem "sinatra-contrib" gem "sinatra-cross_origin" gem "rack-cors" gem "rackup" gem "puma" gem "sqlite3"

その後以下のコマンドでインストール

bundle install

2. アプリケーション起動

ruby app.rb

デフォルトで http://localhost:4567 で起動
CORSが有効なので、フロントエンドとポートが違っても通信できる

テーブル構造(SQlite)

テーブル名 内容
recruitments 農業施設による募集情報
applies 学生による応募情報
matches 募集と応募のマッチング記録
messages マッチ間の掲示板メッセージ

APIエンドポイント一覧

メソッド エンドポイント 説明 リクエストボディ(JSON例)
GET /api/ping サーバーの疎通確認 なし
GET /api/recruitments 募集一覧の取得 なし
POST /api/recruitments 募集の新規登録 { "username": "農業施設名", "address": "住所", "pow": "仕事内容", "conAd": "連絡先", "hw": "作業内容", "schedule": "スケジュール", "veg": "作物情報", "bucon": "その他" }
GET /api/applies 応募一覧の取得 なし
POST /api/applies 応募の新規登録 { "username": "学生名", "address": "住所", "conAd": "連絡先" }
GET /api/matches マッチ一覧の取得 なし
POST /api/matches マッチの新規登録 { "recruitment_id": "募集ID", "apply_id": "応募ID" }
GET /api/messages?match_id=マッチID マッチの掲示板メッセージ一覧取得 クエリパラメータにmatch_id必須
POST /api/messages 掲示板メッセージの投稿 { "match_id": "マッチID", "user": "投稿者名", "content": "メッセージ内容" }