# 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.**