← Back to works Personal App

Tophoo Life — Personal Life & Knowledge Manager

Tophoo Life — Personal Life & Knowledge Manager

Background

Daily life needs bookmark navigation, notes and diaries, scattered across different apps. Tophoo Life brings link navigation, Markdown notes, calendar diary and user management into one lightweight web interface, with per-account data isolation.

Currently in beta: no self-registration; test accounts are created and distributed by the admin.

Features

Module Current capability
Authentication Login, logout, update nickname & phone, JWT access tokens
User management Admin-only; search, pagination, create, edit, enable/disable, delete
Link navigation Categories, favorite links, keyword search, move up/down
My notes Multiple notebook modules, independent category tree, Markdown edit/preview, table rendering, MD/PDF export
My diary Month calendar, highlighted recorded dates, detail reading, immersive add/edit pages

Design Highlights

  • Data isolation: all business data is bound to user ID; the backend scopes reads/writes by the logged-in account to prevent cross-user access;
  • Naming convention: singular table names (user, website, notebook, note, diary); fields prefixed with the table name (user_id, website_name);
  • Auto create tables: Base.metadata.create_all() at startup; Alembic recommended for production.

Tech Stack

  • Backend: FastAPI, SQLAlchemy 2.x, Pydantic
  • Database: MySQL 5.7+ / 8.0+; SQLite fallback for local experience
  • Frontend: Jinja2, vanilla JavaScript, CSS
  • Export: Markdown, ReportLab PDF
  • Tests: pytest

Status & Roadmap

  • Status: beta; accounts distributed by the admin;
  • Roadmap: Alembic migrations, self-registration, full-text search & tags, mobile adaptation.

A personal tool — happy to exchange ideas: Get in touch.

← Back to works