電子部品を効率的に管理するためのWebアプリケーションです。
- Python
- FastAPI
- Uvicorn
- MySQL Connector for Python
- pytest
- React
- TypeScript
- Vite
- React Router
- Vitest
- React Testing Library
- MySQL
- Docker
- AWS(EC2,CloudWatch, S3予定, IAM予定)
.env_templateをコピーして、プロジェクトのルートディレクトリに.envファイルを作成し、環境変数を設定します。# .env_template # <>内の環境変数を設定する MYSQL_USER=<DBログインユーザ> MYSQL_PASSWORD=<DBユーザパスワード> MYSQL_DATABASE=<データベース名> MYSQL_ROOT_PASSWORD=<DBルートパスワード>
- ターミナルを開き、プロジェクトのルートディレクトリに移動します。
- 以下のコマンドを実行して、コンテナをビルドし、バックグラウンドで起動します。
docker compose up --build -d
- 初回起動時や
Dockerfileに変更があった場合は--buildオプションが必要です。 - 2回目以降でビルドが不要な場合は
docker compose up -dで起動できます。
- 初回起動時や
- Reactフロントエンド:
http://localhost:5173/ - FastAPIバックエンド:
http://localhost:8000/docs - MySQLサーバー:
localhost:3306(SQLクライアントからアクセス可能)
各サービスのログは以下のコマンドで確認できます。
# すべてのサービスのログをリアルタイムで表示
docker compose logs -f
# 特定のサービス(例: backend)のログを表示
docker compose logs -f backendコンテナを停止するには、以下のコマンドを実行します。
docker compose down- データベースのデータなどを完全に削除したい場合は
docker compose down -vを実行してください。
- ターミナルを開き、プロジェクトのルートディレクトリに移動
- 以下のコマンドを実行して、テスト用のコンテナを起動し、テストを実行します。
docker compose -f docker-compose.test.yml up --build --abort-on-container-exitこのコマンドは、テストが完了すると自動的にコンテナを停止・削除します。
- MySQLサーバー (テスト用):
localhost:3307
- AWS EC2にテスト環境としてデプロイ済みです。デプロイ先を確認したい場合は、デプロイ担当までご連絡ください。