aboutsummaryrefslogtreecommitdiffhomepage
path: root/README.md
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2025-11-30 05:46:10 +0900
committernsfisis <nsfisis@gmail.com>2025-11-30 05:46:10 +0900
commit785a98ebb0c65cc400d35897fab1460ad3f6959c (patch)
treebc62bc65b155157d96412f0b2d34b1f0b53ccbd4 /README.md
parente753941a8918929e05077e88cd47b1a34bb15ca3 (diff)
downloadkioku-785a98ebb0c65cc400d35897fab1460ad3f6959c.tar.gz
kioku-785a98ebb0c65cc400d35897fab1460ad3f6959c.tar.zst
kioku-785a98ebb0c65cc400d35897fab1460ad3f6959c.zip
prepare docs
Diffstat (limited to 'README.md')
-rw-r--r--README.md91
1 files changed, 91 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..6c7ad13
--- /dev/null
+++ b/README.md
@@ -0,0 +1,91 @@
+# Kioku
+
+A spaced repetition learning application (Anki clone) with PWA offline support and cloud sync.
+
+## Features
+
+- Spaced Repetition: FSRS algorithm for optimal learning scheduling
+- Offline Support: Full PWA with IndexedDB local storage
+- Cloud Sync: Automatic sync when online with conflict resolution
+- Anki Import: Import existing .apkg decks from Anki
+
+## Tech Stack
+
+| Layer | Technology |
+|-------|------------|
+| Frontend | SvelteKit |
+| Backend | Hono + TypeScript |
+| Database | PostgreSQL |
+| ORM | Drizzle |
+| Client DB | Dexie.js (IndexedDB) |
+| PWA | @vite-pwa/sveltekit |
+| Algorithm | FSRS (ts-fsrs) |
+| Auth | Username/password + JWT |
+| Test | Vitest |
+| Monorepo | pnpm workspace |
+
+## Project Structure
+
+```
+kioku/
+├── apps/
+│ ├── web/ # SvelteKit frontend (PWA)
+│ └── server/ # Hono backend API
+└── packages/
+ └── shared/ # Shared types and schemas
+```
+
+## Getting Started
+
+### Prerequisites
+
+- Node.js 22+
+- pnpm 9+
+- PostgreSQL 15+
+- Docker (optional)
+
+### Development
+
+```bash
+# Install dependencies
+pnpm install
+
+# Start PostgreSQL (with Docker)
+docker compose up -d postgres
+
+# Run database migrations
+pnpm --filter server db:migrate
+
+# Start development servers
+pnpm dev
+```
+
+### Environment Variables
+
+Create `.env` files in each app directory:
+
+```apps/server/.env
+DATABASE_URL=postgresql://user:password@localhost:5432/kioku
+JWT_SECRET=your-secret-key
+```
+
+```apps/web/.env
+PUBLIC_API_URL=http://localhost:3000
+```
+
+## Scripts
+
+```bash
+pnpm dev # Start all apps in development
+pnpm build # Build all apps
+pnpm test # Run tests
+pnpm lint # Lint code
+```
+
+## Documentation
+
+See [docs/dev/architecture.md](docs/dev/architecture.md) for detailed architecture documentation.
+
+## License
+
+MIT