Spaces:
Sleeping
Sleeping
# 社員がプロフィールを登録・公開し、お互いに参照できるシステム | |
## 機能 | |
### ユーザー登録 | |
- ユーザー登録画面で、ユーザー名とパスワードを入力して登録ボタンを押すことにより、新規ユーザーを登録することができる。 | |
- ユーザー名は、既存のユーザーと重複してはいけない。 | |
- ユーザー登録に成功したら、ログイン済み状態として、ユーザー一覧画面へ遷移する。 | |
### ログイン | |
- ログイン画面で、ユーザー名とパスワードを入力してログインボタンを押すことにより、ログインすることができる。 | |
- ログインに成功したら、ユーザー一覧画面へ遷移する。 | |
### チーム一覧・作成 | |
- チームの一覧が、チームの作成日時降順で表示される。 | |
- チーム名を入力して作成ボタンを押すと、チームが作成される。 | |
- チームの作成後、本画面が再表示される。 | |
### プロフィール編集 | |
- 自身の`所属チーム`・`プロフィール`・`タグ`を編集できる。 | |
- 所属チームは、既存チームからの選択式とする。 | |
- プロフィールは自由入力とする。 | |
- タグは自由入力で、複数入力できるようにする。 | |
### ユーザー一覧・検索 | |
- デフォルトでは全てのユーザーが一覧表示される。 | |
- 検索条件を入力して検索ボタンを押すと、検索条件がプロフィールに部分一致するユーザーのみにフィルタリングできる。 | |
- 一覧は、ユーザー登録日時の降順で表示される。 | |
- 表示内容は、`ユーザー名`・`プロフィール`で、`プロフィール`は先頭10文字と三点リーダーを表示する。 | |
- ユーザー名をクリックすると、そのユーザーのユーザー詳細画面へ遷移する。 | |
- `チーム一覧へ`をクリックすると、チーム一覧画面へ遷移する。 | |
### ユーザー詳細画面 | |
- 特定のユーザーの、`ユーザー名`・`所属チーム`・`プロフィール`・`タグ`が表示される。 | |
- プロフィールの表示はマークダウンに対応させる。 | |
- `一覧へ`リンクをクリックすると、ユーザー一覧画面へ遷移する。 | |
## あなたが作成するもの | |
バックエンドのプログラム一式を作成してください。 | |
フロントエンドはGradioで作成 | |
- `/api`ディレクトリ以下に作成。 | |
- Python/FastAPI/SQLAlchemyを使う。 | |
- DBはSQLiteを使う。 | |
- 必要に応じて外部ライブラリを使う。 | |
- クラウドや外部サービス(外部API)は使わない。 | |
- .gitignoreを含めること。 | |
pytestでテストの作成 |