5

「クライアントサーバー」Webアプリをrubyに実装する方法についての提案が必要です。ガイドとベストプラクティスは高く評価されています。私は、Rubyの方法と、それが望ましいプラットフォームであるために必要なgemの両方、および一般的な方法とそのようなものを実装するためのロジックに興味があります。

私は優れたルビープログラマーでも、悲しいことに長年の経験を持つ熟練したシステムデザイナーでもないので、このことが最終的に輝くことを願っていますので、本当にあなたの助けが必要です。

アプリケーションの現在の外観は次のようになります。

DB + Auth DB <-> APIアプリ<->その他のアプリ:

  • DB-ユーザーのグループ(リージョン)用に1つのDBを持つデータベースまたはデータベースのセット。
  • Auth DB-個人ユーザーのデータとログイン情報を含むも​​う1つのDB。メインデータベースがリージョン間で分割されている場合でも、おそらく単一です。
  • APIアプリ-これは、データ、アクセス制御、および翻訳に関するすべてのロジックを維持し、おそらくすべてのアプリに対して1つの翻訳ベースを持ちます。
  • その他のアプリ-APIと連携したさまざまなアプリケーションの束。これは、一部のユーザーに関するデータやさまざまな種類のUIを使用してAPIをポークするデータプロバイダーである可能性があります。すべてのアプリがユーザー関連情報の独自のストレージを持つことはできず、APIを介してのみデータを処理できます。

APIアプリ: Sinatraを作成するのに最適なツールのようです。質問は次のとおりです。

  1. APIを明確な方法で整理する方法は?Railsは、モデルとコントローラーのRESTパス設定とフォルダー構造を改善します。API構築の有効期限を改善するためのヒントや宝石はありますか?
  2. アクセスを維持する方法は?APIクライアントはWebアプリ自体であるため、Wardenは適切なオプションのようには見えません。だから私はある種の認証トークンが必要です。どうすればそれができますか?ある種のカスタムOAuthプロバイダー?問題は、APIを介してセッションCookieを保存して渡すというアイデアが好きではないということです。これは、リクエストごとに渡されるある種のアクセストークンです。これもまた

その他のアプリ:主にWebベースのUI。この部分の論理的な選択はRailsです。主な質問は、クライアント側の認証チェックを実装する方法です。Deviseはかっこいいですが、トークンで動作させることは可能ですか、それともより適切なツールですか?

4

1 に答える 1