first commit

This commit is contained in:
2025-12-30 21:47:39 +09:00
commit 0a37314fa8
47 changed files with 6088 additions and 0 deletions

96
README.md Normal file
View File

@@ -0,0 +1,96 @@
# Homework Manager
シンプルな課題管理アプリケーションです。学生の課題管理を効率化するために設計されています。
## 特徴
- **課題管理**: 課題の登録、編集、削除、完了状況の管理
- **ダッシュボード**: 期限切れ、本日期限、今週期限の課題をひと目で確認
- **API対応**: 外部連携用のRESTful API (APIキー認証)
- **セキュリティ**:
- CSRF対策
- レート制限 (Rate Limiting)
- セキュアなセッション管理
- **ポータビリティ**: Pure Go SQLiteドライバー使用により、CGO不要でどこでも動作
## TODO
- 取り組み目安時間の登録
- SNS連携もしかしたらやるかも
## ドキュメント
詳細な仕様やAPIドキュメントは `docs/` ディレクトリを参照してください。
- [仕様書](docs/SPECIFICATION.md): 機能詳細、データモデル、設定項目
- [APIドキュメント](docs/API.md): APIのエンドポイント、リクエスト/レスポンス形式
## 前提条件
- Go 1.24 以上
## インストール方法
1. **リポジトリのクローン**
```bash
git clone <repository-url>
cd Homework-Manager
```
2. **依存関係のダウンロード**
```bash
go mod download
```
3. **アプリケーションのビルド**
```bash
go build -o homework-manager cmd/server/main.go
```
4. **設定ファイルの準備**
サンプル設定ファイルをコピーして、`config.ini` を作成します。
```bash
cp config.ini.example config.ini
```
※ Windows (PowerShell): `Copy-Item config.ini.example config.ini`
**重要**: 本番環境で使用する場合は、必ず `[session] secret` と `[security] csrf_secret` を変更してください。
5. **アプリケーションの実行**
```bash
./homework-manager
```
※ Windows (PowerShell): `.\homework-manager.exe`
ブラウザで `http://localhost:8080` にアクセスしてください。
## Dockerでの実行
DockerおよびDocker Composeがインストールされている環境では、以下の手順で簡単に起動できます。
1. **設定ファイルの準備**
```bash
cp config.ini.example config.ini
```
※ 必須です。これを行わないとDockerがディレクトリとして作成してしまい起動に失敗します。
2. **コンテナの起動**
```bash
docker-compose up -d --build
```
3. **アクセスの確認**
ブラウザで `http://localhost:8080` にアクセスしてください。
## 更新方法
1. `git pull` で最新コードを取得
2. `go build -o homework-manager cmd/server/main.go` で再ビルド
3. アプリケーションを再起動
## ライセンス
本ソフトウェアのライセンスはAGPLv3 (GNU Affero General Public License v3)です。
詳しくはLICENSEファイルをご覧ください。