【最終課題】Bookreviwer
【最終課題】Bookreviwer
インデックス
1 イントロダクション
2 ディレクトリ構成
3 データモデル
4 API機能概要
5 データベース操作関数概要
1.イントロダクション
BookReviewerは、書籍のレビュー管理を簡単かつ効果的に行うためのWebアプリケーションです。このアプリケーションは、書籍の登録、タグ付け、レビュー投稿などの機能を提供します。ユーザーは自分が読んだ書籍に関する情報を入力し、レビューや評価を投稿することができます。また、他のユーザーが投稿した書籍やレビューを閲覧することも可能です。
技術スタック
バックエンドフレームワーク: FastAPI
FastAPIは、高速でシンプルなWebフレームワークであり、Pythonの強力な機能を活用しています。APIの開発において高パフォーマンスと直感的な記述方法を提供し、開発者が効率的にAPIを構築できる特徴があります。
データベース: SQLAlchemy
SQLAlchemyは、PythonのためのORM(Object-Relational Mapping)ライブラリであり、データベースとのやり取りを簡素化します。SQLAlchemyを使用することで、データベース操作をオブジェクト指向的に扱うことができます。また、異なるデータベースシステムに対して柔軟に対応することができる特長があります。
データベース: SQLite
SQLiteは、軽量かつシンプルな関係型データベースエンジンです。BookReviewerアプリケーションでは、SQLiteを使用してデータの永続化を行います。開発およびテストの段階で容易にセットアップでき、扱いやすさとパフォーマンスのバランスが取れています。
2.ディレクトリ構成
bookreviwer/
- main.py
- models.py
- database.py
- crud.py
- schemas.py
3.データベースモデル
データモデル
書籍(Book)テーブル:
- 書籍ID (Primary Key)
- タイトル
- 著者名
- 発行日
タグ(Tag)テーブル:
- タグID (Primary Key)
- タグ名
レビュー(Review)テーブル:
- レビューID (Primary Key)
- レビュー内容
- レビュースコア
- レビュー投稿者名
- 書籍ID (Foreign Key)
書籍とタグの関連(BookTag)テーブル:
- 書籍ID (Foreign Key)
- タグID (Foreign Key)
4.API機能概要
この章では、BookReviewerアプリケーションのAPI機能の概要を説明します。以下に各機能の概要を示します。
- 書籍登録機能: ユーザーが書籍の情報を入力し、新しい書籍をデータベースに登録します。
- タグ一覧取得機能: 登録されているタグの一覧を取得します。
- タグ登録機能: ユーザーが新しいタグを登録します。
- レビュー登録機能: ユーザーが書籍に関するレビューを投稿します。
- 書籍一覧取得機能: 登録されている書籍の一覧を取得します。また、書籍に紐づくタグもとってきてください
5.データベース操作関数概要
この章では、BookReviewerアプリケーションのデータベース操作関数の概要を説明します。以下に各関数の概要を示します。
- 書籍登録関数: ユーザーが入力した書籍の情報をデータベースに登録するための関数です。
- タグ登録関数: ユーザーが新しいタグをデータベースに登録するための関数です。
- レビュー登録関数: ユーザーが書籍に関するレビュー情報をデータベースに登録するための関数です。
- 書籍一覧取得関数: 登録されている書籍の一覧をデータベースから取得するための関数です。
Discussion