Skip to content

Commit 0edc043

Browse files
committed
fic dir
0 parents  commit 0edc043

24 files changed

+4708
-0
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
node_modules

README.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# INIADcheck
2+
3+
複数の時間割JSONファイルをアップロードして、全員が空いているコマを表示するWebアプリケーションです。
4+
5+
## 機能
6+
7+
- 複数の時間割JSONファイルを同時にアップロード
8+
- 全員が空いているコマを自動計算
9+
- 6限以降の空きコマは除外
10+
- アップロード済みの時間割の管理(個別削除・全削除)
11+
- レスポンシブデザイン対応
12+
13+
## 使用方法
14+
15+
1. 時間割JSONファイルを準備
16+
2. 「ファイルを選択」ボタンから複数のJSONファイルを選択
17+
3. 2人以上の時間割がアップロードされると、全員が空いているコマが表示されます
18+
19+
## JSONファイルの形式
20+
21+
```json
22+
{
23+
"1": ["月曜日の1限", "火曜日の1限", "水曜日の1限", "木曜日の1限", "金曜日の1限", "土曜日の1限"],
24+
"2": ["月曜日の2限", "火曜日の2限", "水曜日の2限", "木曜日の2限", "金曜日の2限", "土曜日の2限"],
25+
"3": ["月曜日の3限", "火曜日の3限", "水曜日の3限", "木曜日の3限", "金曜日の3限", "土曜日の3限"],
26+
"4": ["月曜日の4限", "火曜日の4限", "水曜日の4限", "木曜日の4限", "金曜日の4限", "土曜日の4限"],
27+
"5": ["月曜日の5限", "火曜日の5限", "水曜日の5限", "木曜日の5限", "金曜日の5限", "土曜日の5限"],
28+
"6": ["月曜日の6限", "火曜日の6限", "水曜日の6限", "木曜日の6限", "金曜日の6限", "土曜日の6限"],
29+
"7": ["月曜日の7限", "火曜日の7限", "水曜日の7限", "木曜日の7限", "金曜日の7限", "土曜日の7限"],
30+
"8": ["月曜日の8限", "火曜日の8限", "水曜日の8限", "木曜日の8限", "金曜日の8限", "土曜日の8限"]
31+
}
32+
```
33+
34+
- キーは「1」から「8」の文字列(時限)
35+
- 値は配列で、[月曜日, 火曜日, 水曜日, 木曜日, 金曜日, 土曜日]の順
36+
- 空きコマは空文字列 `""` で表す
37+
- 授業がある場合は科目名を記入
38+
39+
## 技術スタック
40+
41+
- React 18
42+
- TypeScript
43+
- Vite
44+
- Tailwind CSS
45+
- DaisyUI
46+
47+
## 開発環境のセットアップ
48+
49+
```bash
50+
# 依存関係のインストール
51+
npm install
52+
53+
# 開発サーバーの起動
54+
npm run dev
55+
56+
# ビルド
57+
npm run build
58+
59+
# プレビュー
60+
npm run preview
61+
```
62+
63+
## ライセンス
64+
65+
MIT License

eslint.config.js

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import js from '@eslint/js'
2+
import globals from 'globals'
3+
import reactHooks from 'eslint-plugin-react-hooks'
4+
import reactRefresh from 'eslint-plugin-react-refresh'
5+
import { defineConfig, globalIgnores } from 'eslint/config'
6+
7+
export default defineConfig([
8+
globalIgnores(['dist']),
9+
{
10+
files: ['**/*.{js,jsx}'],
11+
extends: [
12+
js.configs.recommended,
13+
reactHooks.configs['recommended-latest'],
14+
reactRefresh.configs.vite,
15+
],
16+
languageOptions: {
17+
ecmaVersion: 2020,
18+
globals: globals.browser,
19+
parserOptions: {
20+
ecmaVersion: 'latest',
21+
ecmaFeatures: { jsx: true },
22+
sourceType: 'module',
23+
},
24+
},
25+
rules: {
26+
'no-unused-vars': ['error', { varsIgnorePattern: '^[A-Z_]' }],
27+
},
28+
},
29+
])

index.html

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!doctype html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8" />
5+
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7+
<title>Vite + React</title>
8+
</head>
9+
<body>
10+
<div id="root"></div>
11+
<script type="module" src="/src/main.jsx"></script>
12+
</body>
13+
</html>

0 commit comments

Comments
 (0)