❤️🔥 This is a Next.js project bootstrapped with create-next-app.
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
🏃♀️ First, install dependencies and run the development server:
pnpm install
pnpm dev👉 Open http://localhost:3000 in your browser to see the result.
- 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.
🌟 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 is15. -
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.
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
- 📝 Copyright (C) 2025 Jayant Hegde Kageri
- 🔏 Licensed under the Terms and Conditions of GNU Affero General Public License v3.0 or later (AGPL-3.0-or-later)