[Server - Readme(JPN)] DataX Project
[Server - Readme(JPN)] DataX Project
プロジェクト概要
このプロジェクトは、Ruby on RailsとVue.jsを使用して実装されたブログプラットフォームです。ユーザー認証、記事管理、検索フィルタリングなどの機能を含みます。
[APIデプロイ済み] http://43.203.118.99:3000/
- リクエストはHTTPで受信され、レスポンスはJSON形式でHTTP Bodyに含まれて返されます。
開発環境
- 開発環境: macOS
- Ruby 3.2.6
- Rails 7.2.2.1
- データベース: MySQL 9.2.0
- デプロイ: AWS EC2
プロジェクトのセットアップ手順
- プロジェクト環境のインストール
- Ruby 3.2.6のインストール
- Bundlerのインストール
- データベース(MySQL)のインストール
- Railsのインストール
- 開発フロー
- ERDの作成
- MySQLとRailsプロジェクトの接続
- ERDデータに基づくモデルの定義 (属性)
- API明細書作成
- JWTトークンを使用したログイン機能の実装
- RailsのDeviseライブラリを使用
- 記事の作成・削除・編集のロジックを実装
- タグ機能の実装
- AWSを利用したデプロイ
- Vueクライアントとの連携
実装した機能
- ユーザー登録
- 名前、メールアドレス、パスワードを入力
- 登録成功後、名前、メールアドレス、パスワードをデータベースに保存
- レスポンス: 名前、メールアドレス、作成日、ユーザーID (ユーザーIDは後で記事の編集や削除時に所有者を確認するために使用)
- ログイン・ログアウト機能
- ログイン機能
- メールアドレスとパスワードを受け取り、データベースで認証を行う
- 認証成功時にトークンを返す
- トークンはHTTPヘッダーに含めることで、特定の機能(記事作成、ログアウトなど)へのアクセスが可能
- ログアウト機能 (トークン必要)
- トークンを確認し、ログイン状態であればログアウト成功メッセージを返す
- システムはトークンのJTI値を特定し、ログアウトしたトークンでのリクエストを拒否する
- ログイン機能
- 記事投稿機能 (トークン必要)
- 記事の作成
- 記事の削除
- 記事の編集
- 記事リストの取得
- タグ機能
工夫したポイント
This post is licensed under CC BY 4.0 by the author.