🐥

【最終課題】Bookreviwer

2023/05/12に公開

【最終課題】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