Skip to content

Repository files navigation

realm.rd

❤️‍🔥 This is a Next.js project bootstrapped with create-next-app.

Description

REALM.RD is a minimal, self-hostable platform designed to log daily thoughts, capture notes, and track expenses — all under one unified interface.

Whether you're jotting down a private entry, scribbling plans, or managing your daily budget, REALM.RD provides the tools you need to do it quickly, securely, and without distractions.

🗒️ Daily Diary · 🧾 Notekeeping · 💸 Book of Expenditure

🚀 Getting Started

🏃‍♀️ First, install dependencies and run the development server:

pnpm install
pnpm dev

👉 Open http://localhost:3000 in your browser to see the result.

💡 Features

  • Daily Diary — Timestamped daily logs, markdown-ready.
  • Notekeeping — Lightweight, structured note management.
  • Book of Expenditure — Simple budget tracking and ledger-style records.
  • JWT Authentication — Private access to your notes and logs.
  • Encrypted Drafts — libsodium-based encryption.
  • Export to Excel — Save the expense entries as .xlsx.
  • Telegram Notifications (optional) — Instant alerts via bot integration.
  • Fully Modular Design — Easily extensible and componentized.

🗺️ Environment Variables

🌟 This Next.js project requires some necessary environment variables to run. These variables are stored in a .env file at the root of the project or the machine's Environment Variables. Below is a list of all the environment variables required by the project along with their descriptions:

  • NEXT_PUBLIC_DOMAIN (required): This variable specifies the domain name of the website and is used for generating absolute URLs (e.g., https://realm.example.com).

  • JWT_SECRET (required): This is a secret string that is used to sign the JWT tokens. Changing this value will revoke all existing sessions.

  • SESSION_DURATION (optional): This variable specifies the duration of the session in minutes. The default value is 15.

  • MONGODB_URI (required): This variable specifies the URI to the MongoDB database.

  • REDIS_URI (required): This variable specifies the URI to the Redis database.

  • TG_BOT_TOKEN (optional): This variable specifies the Telegram Bot Token, which is used for sending alerts.

  • TG_CHAT_ID (optional): This variable specifies the Telegram Chat ID, which is used for sending alerts.

⚡ Tech Stack

Tech Stack

Node.js · TypeScript · Next.js · Tailwind CSS · MongoDB · Redis · React · PNPM

Also: Mongoose, JWT, Argon2, Libsodium, SheetJS, CodeMirror, MDX Editor, Mantine React Table, React Use, Nano ID, Proper Lockfile, React Hot Toast, Telegram Bot API

📜 License

GNU AGPL-3.0-or-later

About

Scribble the plans, spill the thoughts.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages