# Puyoskey 💧

## なんだこれは?
オープンソースのFederated SNSのぷよすきーです (Based on [Rosekey](https://code.16439s.dev/16439s/rosekey/))
How to use?
## Dependencies 🪡
このアプリを使用するには、以下の依存関係を満たしてください。
- `node` (v20.4以上)
- `git`
- `ffmpeg`
**全てローカルで行う場合**
- `redis`
- `postgresql` `v15以上`
## Build 🔨
```bash
git clone --recursive https://git.ter05.net/HidemaruOwO/puyoskey.git
cd puyoskey
git checkout master
git submodule update --init
corepack enable
pnpm install --frozen-lockfile
NODE_ENV=production pnpm run build
pnpm run init
```
## Run 🚄
```bash
NODE_ENV=production pnpm run start
```
## Update 💫
```bash
git checkout master
git pull
git submodule update --init
pnpm install --frozen-lockfile
NODE_ENV=production pnpm run build
pnpm run migrate
```
### Some Error 😠
ビルドや起動時にエラーが発生した場合
```bash
pnpm run clean-all
pnpm rebuild
```
## Versioning rule 🌿
```
v..-puyo.
Ex. v4.0.0-puyo.0, v4.5.1-puyo.12
```
例としてv4.5.1-puyo.1を挙げて、分解します。
初めに、4はCherrypickのバージョンが4.x.xであるため、4となります。
次に、5はrosekeyのmasterブランチからのマージ回数が5回であるため、5となります。
1は新機能の追加回数が1回であるため、1となります。
最後に、12は機能の修正及び変更のmasterブランチへのマージ回数が12回であるため、12となります。
また、各数字は0から始まり、1ずつ増加していきます (Cherrypickのバージョンを除く)。
さらに、上の数字が変化しても、下の数字は0には戻りません。
ぷよすきーはこのようなバージョニング規則が定まれてます。
## For Contributor 🤝
本プロジェクトにコントリービュートする場合は[コントリービュートガイド](docs/README.md)をお読みください。
## Reference ✨
- [doremire/Awesome-README](https://github.com/doremire/Awesome-README)