Initial Commit

This commit is contained in:
Stefan Hardegger
2025-11-18 08:16:12 +01:00
parent 0331f54d31
commit 0bb7c4f5e6
4 changed files with 1360 additions and 1 deletions

147
PROJECT-NAMING.md Normal file
View File

@@ -0,0 +1,147 @@
# MemoHanzi - Project Naming Conventions
## Application Name
**MemoHanzi** (记汉字)
- **Meaning:** "Remember Hanzi" or "Memorize Hanzi"
- **Chinese:** 记汉字
- **Pronunciation:** Jì Hànzì
## Usage Guidelines
### Display Names (User-Facing)
- **Full name:** MemoHanzi
- **Tagline:** "Remember Hanzi, effortlessly"
- **Description:** Spaced repetition for Chinese characters
### Technical Names (Code/Infrastructure)
**Project Directory:**
```
memohanzi/
```
**Database:**
- Database name: `memohanzi_db`
- Database user: `memohanzi_user`
**Connection String:**
```
postgresql://memohanzi_user:password@localhost:5432/memohanzi_db
```
**Docker Container Names:**
- nginx: `memohanzi-nginx`
- app: `memohanzi-app`
- postgres: `memohanzi-postgres`
**NPM Package Name (if publishing):**
```json
{
"name": "memohanzi",
"description": "Self-hosted spaced repetition app for learning Chinese characters"
}
```
**Domain Names:**
- Primary: memohanzi.com
- Alternative: memohanzi.io / memohanzi.app
**Email Domains (Development):**
- Admin: admin@memohanzi.local
- Test user: user@memohanzi.local
### Code/Variable Naming
**Constants:**
```typescript
const APP_NAME = "MemoHanzi"
const APP_NAME_CN = "记汉字"
const APP_TAGLINE = "Remember Hanzi, effortlessly"
```
**Environment Variables:**
```bash
NEXTAUTH_URL="https://memohanzi.com"
DATABASE_URL="postgresql://memohanzi_user:password@localhost:5432/memohanzi_db"
```
**File Names:**
- Use lowercase with hyphens: `memohanzi-config.ts`
- Or camelCase for TypeScript: `memohanziConfig.ts`
## Branding (Future Reference)
### Logo Concepts
- Focus on the concept of memory/remembering
- Incorporate Chinese character elements
- Clean, modern design
### Color Palette Suggestions
- **Primary:** Red (#E63946) - Traditional Chinese color, attention/memory
- **Secondary:** Blue (#457B9D) - Trust, learning, calmness
- **Accent:** Gold (#FFD60A) - Achievement, success
- **Background:** White/Light gray - Clarity, simplicity
### Typography
- **Hanzi Display:** Noto Sans CJK SC (Google Fonts)
- **English UI:** Inter or System fonts
- **Headings:** Bold, clean sans-serif
## Consistency Rules
1. **Always capitalize "MemoHanzi"** in user-facing content
2. **Always use lowercase "memohanzi"** in code/technical contexts
3. **Use "Hanzi" not "hanzi"** when referring to characters in documentation
4. **Include Chinese characters (记汉字)** in about/landing pages
5. **Never use "Hanzi Learning App"** as the name (old placeholder)
## Examples
### ✅ Correct Usage
**User-facing:**
- "Welcome to MemoHanzi!"
- "MemoHanzi helps you remember Hanzi effortlessly"
- "Start learning with MemoHanzi (记汉字)"
**Technical:**
```typescript
// File: src/lib/memohanziConfig.ts
export const config = {
appName: "MemoHanzi",
dbName: "memohanzi_db"
}
```
```yaml
# docker-compose.yml
services:
app:
container_name: memohanzi-app
```
### ❌ Incorrect Usage
**Don't:**
- "Welcome to memohanzi!" (lowercase in UI)
- "MemoHanzi_DB" (mixed case in technical)
- "Hanzi Learning App" (old name)
- "Memo-Hanzi" or "Memo Hanzi" (hyphenated or separated)
## README/Documentation Template
```markdown
# MemoHanzi (记汉字)
**Remember Hanzi, effortlessly**
MemoHanzi is a self-hosted web application for learning Chinese characters (Hanzi)
using spaced repetition (SM-2 algorithm).
## Features
...
```
---
**This file should be referenced whenever naming anything in the project.**