本リポジトリにコミットする場合、CONTRIBUTING.mdを必ず確認ください
- Ubuntu(WSL2)
- Docker Desktop (windows)
- macOS(x86-64, arm64)
- OrbStack
Docker Desktop動作未確認
- リポジトリのクローンと移動
git clone [email protected]:shun-harutaro/nft-nenga.git
cd nft-nenga
.env
の作成
touch .env
echo "OPENAI_API_KEY=[openAI api key]" >> .env
echo "GOOGLE_MAPS_API_KEY=[google maps api key]" >> .env
echo "LINE_CLIENT_ID=[line client id]" >> .env
echo "LINE_CLIENT_SECRET=[line client secret]" >> .env
echo "PINATA_API_KEY=[pinata api key]" >> .env
echo "PINATA_SECRET_API_KEY=[pinata api secret]" >> .env
echo "NFT_ACCOUNT_ADDRESS=[nft account address]" >> .env
echo "NFT_PRIVATE_KEY=[nft private key]" >> .env
- 自己署名証明書の発行
openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 -keyout localhost-key.pem -out localhost-cert.pem
- Dockerイメージのビルド
docker compose build
- コンテナ起動
docker compose up
Detachモード
docker compose up -d
- テーブル作成
docker compose exec backend uv run migrate_db.py
-
localhost で開いてみましょう
frontend: https://localhost/
backend: https://localhost/api/ -
コンテナの停止
docker compose down
未定義
- frontend (Vue.js)
- backend (FastAPI)
- nginx (web-server)
.
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── backend
│ ├── Dockerfile
│ ├── cruds
│ │ └── __init__.py
│ ├── main.py
│ ├── models
│ │ └── __init__.py
│ ├── pyproject.toml
│ ├── routers
│ │ ├── __init__.py
│ │ ├── auth.py
│ │ ├── gpt.py
│ │ ├── location.py
│ │ └── nft.py
│ ├── schemas
│ │ ├── __init__.py
│ │ ├── nft_schema.py
│ │ └── text.py
│ ├── services
│ │ ├── HackuNFT_abi.json
│ │ ├── HackuNFT_bytecode.json
│ │ ├── __init__.py
│ │ ├── compile.py
│ │ ├── gpt.py
│ │ ├── line.py
│ │ ├── nft_contract.py
│ │ ├── nft_service.py
│ │ └── ogp_service.py
│ ├── tests
│ │ └── __init__.py
│ ├── uploads
│ ├── utils
│ │ ├── __init__.py
│ │ └── config.py
│ └── uv.lock
├── compose.yml
├── frontend
│ ├── Dockerfile
│ ├── eslint.config.js
│ ├── index.html
│ ├── jsconfig.json
│ ├── package-lock.json
│ ├── package.json
│ ├── public
│ │ └── favicon.ico
│ ├── src
│ │ ├── App.vue
│ │ ├── assets
│ │ │ ├── base.css
│ │ │ ├── btn_login_base.png
│ │ │ └── main.css
│ │ ├── components
│ │ │ └── LoginButton.vue
│ │ ├── main.js
│ │ ├── plugin
│ │ │ └── axios.js
│ │ ├── router.js
│ │ └── views
│ │ ├── Location.vue
│ │ └── Login.vue
│ └── vite.config.js
└── nginx.conf
本リポジトリはMITライセンスです。