2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

SPA対応させたToDoサイトを作成してみた。

Last updated at Posted at 2023-06-18

はじめに

naritomoと申します。

サーバーレスサイト開発周りを調査したところ、SPAに対応させたフロント/バックエンドを分離したサイト開発に興味を持ち、第一号開発としてToDoサイトを作ってみました。

いろいろアドバイスいただけると嬉しいです。

立ち上げ概要

ToDoサイトの構成として以下のものとしています。

  • フロントエンドはReactを使用する。
  • バックエンドはFastAPIを使用する。
  • DBはMySQLを使用する。
  • フロンド/バック間通信はRESTAPIを使用する。

必要なソースは以下にまとめてあります。

参考書籍/サイト

動かして学ぶ!Python FastAPI開発入門

ReactでToDoリストを作る。

本書籍/サイトにより、かなり理解が進みました。
ありがとうございます。

構築方法

予め展開先でgit/docker-composeを使用できていること。

展開方法

git clone https://github.com/naritomo08/todosite.git
cd todosite
touch front/.env.development.local
vi front/.env.development.local

以下の内容で作成する。
REACT_APP_BURL = "http://localhost:8000"
→外のサーバーで動かす場合、localhostを任意のIPにする。

docker-compose build
docker-compose run --entrypoint "poetry install --no-root" fastapi-app
docker-compose up -d

5分程待ってから実施

docker-compose exec fastapi-app poetry run python -m api.migrate_db

TODOサイト確認

以下のURLにアクセスし、ToDoサイトAPI管理画面が出てくること。

各種API操作ができること

以下のURLにアクセスし、ToDoサイトトップ画面が出てくること。

ToDoリストの登録/完了リストへの移動/リスト削除を行えること。

各種コンテナログイン

Reactコンテナログイン

docker-compose exec react-app bash

FastAPIコンテナログイン

docker-compose exec fastapi-app bash

DBマイグレートコマンド
poetry run python -m api.migrate_db

APIユニットテストコマンド
poetry run pytest

DBコンテナログイン

docker-compose exec db bash

DBバックアップ

cd /dump
mysqldump -u root -ppassword --single-transaction --all-databases --events > mysql_dump.sql

DBリストア
db/dump内にバックアップファイルを置く。

cd /dump
mysql -u root -ppassword < mysql_dump.sql

DB管理ツールログイン

adminer(DB管理ツール)

  • ログイン情報
    • サーバ: db
    • ユーザ名: admin
    • パスワード: password
    • データベース: demo

おわりに

本サイトについて駆け足で作成しているところもあるため、
自分でも誤りや問題に気づきましたら修正いたします。

気になるところなどありましたら、色々コメント頂けますと
嬉しいです。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?