Files
memohanzi/PROJECT-NAMING.md
Stefan Hardegger 0bb7c4f5e6 Initial Commit
2025-11-18 08:16:12 +01:00

3.4 KiB

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):

{
  "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):

Code/Variable Naming

Constants:

const APP_NAME = "MemoHanzi"
const APP_NAME_CN = "记汉字"
const APP_TAGLINE = "Remember Hanzi, effortlessly"

Environment Variables:

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:

// File: src/lib/memohanziConfig.ts
export const config = {
  appName: "MemoHanzi",
  dbName: "memohanzi_db"
}
# 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

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