Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/imoken777/online-othello
オンラインリアルタイムオセロ
https://github.com/imoken777/online-othello
firebase-auth frourio nextjs nodejs prisma typescript
Last synced: about 1 month ago
JSON representation
オンラインリアルタイムオセロ
- Host: GitHub
- URL: https://github.com/imoken777/online-othello
- Owner: imoken777
- Created: 2024-03-02T15:36:30.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-04-29T10:31:15.000Z (9 months ago)
- Last Synced: 2024-10-25T10:47:33.394Z (3 months ago)
- Topics: firebase-auth, frourio, nextjs, nodejs, prisma, typescript
- Language: TypeScript
- Homepage: https://online-othello-client.onrender.com
- Size: 883 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Online-Othello
このプロジェクトは、フロントエンドは client ディレクトリの [Next.js](https://nextjs.org/) 、バックエンドは server ディレクトリの [frourio](https://frourio.com/) で構築された TypeScript で一気通貫開発されたオンラインリアルタイムオセロです。認証機能は [Firebase Authentication](https://firebase.google.com/?hl=ja) を使用しています。データベースは [PostgreSQL](https://www.postgresql.org/) で、ORM は [Prisma](https://www.prisma.io/) です。[Docker](https://www.docker.com/) で開発環境を構築しています。
## デモ
フロントエンド、バックエンドともに[Render](https://render.com/)でデプロイしています。無料契約のため、アクセスが遅い可能性があります。
Online-Othello: [https://online-othello-client.onrender.com](https://online-othello-client.onrender.com)## 機能
- ユーザー登録、ログイン、ログアウト
- リアルタイムオセロ対戦
- 複数の部屋## 開発手順
### Node.js のインストール
ローカルマシンに直接インストールする
の左ボタン、LTS をダウンロードしてインストール
### リポジトリのクローンと npm モジュールのインストール
ルートとフロントとバックエンドそれぞれに package.json があるので 3 回インストールが必要
```sh
npm i
npm i --prefix client
npm i --prefix server
```### 環境変数ファイルの作成
```sh
cp client/.env.example client/.env
cp server/.env.example server/.env
cp docker/dev/.env.example docker/dev/.env
```### ミドルウェアのセットアップ
```sh
docker compose up -d
```### 開発サーバー起動
次回以降は以下のコマンドだけで開発できる
```sh
npm run notios
```Web ブラウザで を開く
開発時のターミナル表示は [notios](https://github.com/frouriojs/notios) で制御している
[Node.js モノレポ開発のターミナルログ混雑解消のための新作 CLI ツール notios](https://zenn.dev/luma/articles/nodejs-new-cli-tool-notios)
閉じるときは `Ctrl + C` を 2 回連続で入力
#### Firebase Emulator
#### MinIO Console
#### PostgreSQL UI
```sh
cd server
npx prisma studio
```