diff --git a/README.dev.md b/README.dev.md new file mode 100644 index 00000000..82fbaa38 --- /dev/null +++ b/README.dev.md @@ -0,0 +1,21 @@ +## Orval + +OpenAPI から zod のスキーマを生成する + +``` +npx orval [--config ] +``` + +## Prism + +Prism のインストール + +``` +npm install -g @stoplight/prism-cli +``` + +モックサーバの起動 + +``` +prism mock ./api/openapi.yml +``` diff --git a/README.md b/README.md index 407b5952..15fca173 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,103 @@ # KITCC Library -[API仕様書](https://kitcc-library-api-doc.pages.dev/) +![frontend vitest](https://github.com/kitcc-org/kitcc-library/actions/workflows/frontend_vitest.yml/badge.svg) +![backend vitest](https://github.com/kitcc-org/kitcc-library/actions/workflows/backend_vitest.yml/badge.svg) +![License](https://img.shields.io/badge/license-MIT-yellow) -## Orval +KITCC が所有する書籍を管理する Web アプリ -OpenAPIからzodのスキーマを生成する -``` -npx orval [--config ] -``` +- [アプリのリンク](https://kitcc-library-web.pages.dev/) +- [API 仕様書](https://kitcc-library-api-doc.pages.dev/) -## Prism +## 機能一覧 -Prismのインストール -``` -npm install -g @stoplight/prism-cli -``` +- 蔵書管理 + - [x] 蔵書検索 + - [x] グローバル検索 + - [x] 蔵書追加 + - [x] 蔵書編集 + - [x] 蔵書削除 +- ユーザー管理 + - [ ] ユーザー一覧 + - [ ] ユーザー追加 + - [ ] ユーザー編集 + - [ ] ユーザー削除 +- 認証機能 + - [x] ログイン + - [x] ログアウト +- カート機能 + - [x] カートに追加 + - [ ] カートから削除 + - [ ] カートの中身を確認 +- 貸出履歴管理 + - [ ] 貸出 + - [ ] 返却 -モックサーバの起動 -``` -prism mock ./api/openapi.yml -``` +## 使用技術 + +### フロントエンド + +![TypeScript](https://img.shields.io/badge/TypeScript-%233178C6?style=for-the-badge&logo=typescript&logoColor=white) +[![Remix](https://img.shields.io/badge/Remix-%23000000?style=for-the-badge&logo=remix&logoColor=white)][Remix] +[![TanStack Query](https://img.shields.io/badge/TanStack_Query-%23FF4154?style=for-the-badge&logo=reactquery&logoColor=white)][TSQ] +[![Mantine](https://img.shields.io/badge/Mantine-%23339AF0?style=for-the-badge&logo=mantine&logoColor=white)][Mantine] +[![Jotai](https://img.shields.io/badge/Jotai-%23000000?style=for-the-badge&logo=ghostery&logoColor=white)][Jotai] +[![Vitest](https://img.shields.io/badge/Vitest-%236E9F18?style=for-the-badge&logo=vitest&logoColor=white)][Vitest] +[![Testing Library](https://img.shields.io/badge/Testing_Library-%23E33332?style=for-the-badge&logo=testinglibrary&logoColor=white)][RTL] +[![MSW](https://img.shields.io/badge/MSW-%23FF6A33?style=for-the-badge&logo=mockserviceworker&logoColor=white)][MSW] + +### バックエンド + +![TypeScript](https://img.shields.io/badge/TypeScript-%233178C6?style=for-the-badge&logo=typescript&logoColor=white) +[![Hono](https://img.shields.io/badge/Hono-%23FF6A33?style=for-the-badge&logo=hono&logoColor=white)][Hono] +[![Zod](https://img.shields.io/badge/zod-%233E67B1?style=for-the-badge&logo=zod&logoColor=white)][Zod] +[![Drizzle](https://img.shields.io/badge/Drizzle_ORM-%23C5F74F?style=for-the-badge&logo=drizzle&logoColor=black)][Drizzle] +[![Vitest](https://img.shields.io/badge/Vitest-%236E9F18?style=for-the-badge&logo=vitest&logoColor=white)][Vitest] + +### データベース + +[![D1](https://img.shields.io/badge/Cloudflare_D1-%23F38020?style=for-the-badge&logo=cloudflare&logoColor=white)][D1] + +### インフラ + +[![Pages](https://img.shields.io/badge/Cloudflare_Pages-%23F38020?style=for-the-badge&logo=cloudflarepages&logoColor=white)][Pages] +[![Workers](https://img.shields.io/badge/Cloudflare_Workers-%23F38020?style=for-the-badge&logo=cloudflareworkers&logoColor=white)][Workers] + +### CI/CD + +![Actions](https://img.shields.io/badge/GitHub_Actions-%232088FF?style=for-the-badge&logo=githubactions&logoColor=white) + +### 開発ツール + +[![Orval](https://img.shields.io/badge/Orval-%23683BC1?style=for-the-badge)][Orval] +[![ESLint](https://img.shields.io/badge/ESLint-%234B32C3?style=for-the-badge&logo=eslint&logoColor=white)][ESLint] +[![Prettier](https://img.shields.io/badge/Prettier-%23F7B93E?style=for-the-badge&logo=prettier&logoColor=black)][Prettier] +[![Husky](https://img.shields.io/badge/Husky-black?style=for-the-badge)][Husky] +![lint-staged](https://img.shields.io/badge/lint--staged-%23684730?style=for-the-badge) + +## ER 図 + +![ER図](https://github.com/user-attachments/assets/cc4a7ae4-0d9f-4272-8078-08fedb953c3e) +[Miro のリンク](https://miro.com/app/board/uXjVKhyZcq4=/?share_link_id=764975652044) + +## ワイヤーフレーム + +[Miro のリンク](https://miro.com/app/board/uXjVKhyZcq4=/?share_link_id=764975652044) + +[ESLint]: https://eslint.org/ +[D1]: https://developers.cloudflare.com/d1/ +[Drizzle]: https://orm.drizzle.team/ +[Hono]: https://hono.dev/ +[Husky]: https://typicode.github.io/husky/ +[Jotai]: https://jotai.org/ +[Mantine]: https://mantine.dev/ +[MSW]: https://mswjs.io/ +[Orval]: https://orval.dev/ +[Pages]: https://developers.cloudflare.com/pages/ +[Prettier]: https://prettier.io/ +[RTL]: https://testing-library.com/docs/react-testing-library/intro/ +[Remix]: https://remix.run/ +[TSQ]: https://tanstack.com/query/latest +[Vitest]: https://vitest.dev/ +[Workers]: https://developers.cloudflare.com/workers/ +[Zod]: https://zod.dev/ diff --git a/frontend/app/img/kitcc.png b/frontend/app/img/kitcc.png index 50c344f2..a89bcbb4 100644 Binary files a/frontend/app/img/kitcc.png and b/frontend/app/img/kitcc.png differ