148 lines
3.4 KiB
Markdown
148 lines
3.4 KiB
Markdown
# 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.**
|