• create a simple app to save notes/snippets into categories
  • use daisyui for styling use standard daisyui components whenever possible
  • add Meta Tags for whatsapp & Apple
  • use sql for storing notes
  • allow user to add, edit and archive notes but not delete them
  • i want something like this, to centralize configuration :
export const CONFIG = {
  theme: "nord",
  title: "Summer Notes v2",
  description: "A simple notes collection",
  iconUrl: "https://cdn.midjourney.com/91ae2b50-77a6-417c-bf1e-c82c4ebc20b8/0_1.png",
  copyright: "2025 - A notes app"

  db_name: "summer_notes_v1",

  categories: ["css", "val-town", "prompts", "notes", "chat-gpt", "cursor-chats", "bash-commands"],
  groups: ["first", "second", "third", "fourth", "fifth"],
  note_colors: ["primary", "secondary", "accent", "neutral", "info", "success", "warning", "error"],
} as const;

and then use them like this:

        <title>{CONFIG.title}</title>

        {/* Favicon */}
        <link rel="icon" type="image/png" href={CONFIG.iconUrl} />
        
        {/* Apple specific metadata */}
        <meta name="mobile-web-app-capable" content="yes" />
        <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
        <meta name="apple-mobile-web-app-title" content={CONFIG.title} />
        <link rel="apple-touch-icon" href={CONFIG.iconUrl} />

        {/* Open Graph metadata */}
        <meta property="og:type" content="website" />
        <meta property="og:url" content={url} />
        <meta property="og:title" content={pageTitle} />
        <meta property="og:description" content={pageDesc} />
        <meta property="og:image" content={CONFIG.iconUrl} />

        {/* Twitter metadata */}
        <meta property="twitter:card" content="summary_large_image" />
        <meta property="twitter:url" content={url} />
        <meta property="twitter:title" content={pageTitle} />
        <meta property="twitter:description" content={pageDesc} />
        <meta property="twitter:image" content={CONFIG.iconUrl} />
  • hardcode the categories and groups in shared/config.ts, so only notes are saved to the sql database

  • make the note div look like a macos terminal

  • add a group as well for notes

  • add a way to filter cards and there should be an option to group by group

  • Enforce design principles:

    • KISS (Keep It Simple, Stupid)
    • YAGNI (You Aren’t Gonna Need It)
    • SoC (Separation of Concerns)
    • SRP (Single Responsibility Principle)
  • Centralize duplicate logic, shared config, and utility functions (DRY principle)

  • Use descriptive, intention-revealing names for identifiers (variables, functions, classes, etc.)

  • Add concise, meaningful comments where necessary to aid understanding