私は求人ポータルに取り組んでいます。ユーザーを作成および管理する方法について混乱しています。例: 私のアプリケーションには、会社、コンサルタント、候補者の 3 種類のユーザー (後で拡張される可能性があります) があります。それぞれが完全に異なる役割と管理者 (つまりアカウント) パネル/コンソールへのアクセス権を持ちます。または、アカウントを管理するための完全に異なるビューを持つと言えます。したがって、ユーザーが会社のアカウントでログインすると、ジョブを作成して会社のプロファイルを更新できる必要があります。ユーザーがコンサルタントとしてログインすると、他の会社 (誰がウェブサイト/アプリに登録されている場合と登録されていない場合があります)、また、企業からの仕事をサーフィン/検索し、アプリケーションを投稿できる必要があります (つまり、候補者(ウェブサイト/アプリにまだ登録されているかどうかにかかわらず)に代わって候補者の仕事に応募します。また、ユーザーが候補者としてログインすると、履歴書/履歴書の作成、求人の検索、企業が掲載する求人への応募ができるはずです。
これが私が考えたことです:ユーザーモデルを作成し、会社、コンサルタント、および候補者のSTI(単一テーブル継承)を持っています。しかし、性感染症は遅かれ早かれ複雑になります。後で、それぞれに異なるモデルを作成することを考えましたが、ログイン/サインアップやその他の同様のアクティビティに対してコードが繰り返されるため、DRY はありません。
可能な限り最善の方法を採用したいと思います。では、専門家がそのようなシナリオをどのように解決するのか知りたいですか? ありがとう。