Personal site. https://irvanma.eu.org
  • TypeScript 98.4%
  • CSS 1.3%
  • JavaScript 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-08 12:17:01 +07:00
.agents/skills docs(skills): update z-index and gradient guidelines to Tailwind v4 2026-09-21 09:32:07 +07:00
.claude/skills chore(skills): add next.js and radix skills 2026-08-26 09:32:45 +07:00
.github/workflows security(pnpm): harden workspace with minimumReleaseAge 2026-07-07 11:01:09 +07:00
.vscode feat(comp): updated some stuffs 2025-12-09 09:35:21 +07:00
public fix(blog): replace mismatched images with all-black techwear and heavy combat boots 2026-09-30 11:06:38 +07:00
src fix(blog): update most-recent sort option description 2026-10-07 13:18:45 +07:00
.env.example docs(env): document REVALIDATION_SECRET in env example 2026-10-05 19:01:05 +07:00
.gitignore feat(env): add example env file 2025-08-03 02:27:27 +07:00
AGENTS.md chore: sync next agent rules in AGENTS.md 2026-09-29 16:50:47 +07:00
components.json chore(config): switch shadcn style to base-vega and update tech stack 2026-10-01 16:56:33 +07:00
doctor.config.json chore(config): configure react-doctor project rules and overrides 2026-09-23 14:02:35 +07:00
eslint.config.mjs refactor(styles): migrate arbitrary Tailwind values to scale and theme tokens 2026-09-30 08:28:52 +07:00
LICENSE rebase(treewide): rebase to nextjs 2025-03-11 00:01:42 +07:00
next.config.ts feat(media): add image-metadata route with blurhash and standardize next/image 2026-09-30 15:11:28 +07:00
package.json chore(deps): replace next-mdx-remote-client with react-markdown and rehype-react 2026-10-05 15:59:54 +07:00
pnpm-lock.yaml chore(deps): update lockfile for react-markdown and rehype-react 2026-10-05 15:59:59 +07:00
pnpm-workspace.yaml chore(deps): upgrade next to 16.3.8 2026-10-01 15:41:04 +07:00
postcss.config.mjs rebase(treewide): rebase to nextjs 2025-03-11 00:01:42 +07:00
README.md docs: simplify and update README with grounded overview 2026-10-08 12:17:01 +07:00
skills-lock.json chore(skills): update skills-lock.json 2026-08-26 09:32:43 +07:00
tsconfig.json chore(next): update configurations for Next.js v16 2026-06-25 14:40:22 +07:00
vercel.json feat(deploy): configure vercel function region to sin1 2026-09-29 11:44:29 +07:00

Realm

The personal website, portfolio, and blog for Realm. Built with Next.js, React, and Tailwind CSS.


Features

  • Portfolio and Profile: Highlights personal background, projects, and work experience.
  • Blog Articles: Markdown articles with code syntax highlighting, math formulas, and estimated reading times.
  • User Accounts: Supports sign-in with email and password or social login through Google and GitHub.
  • Contact Form: Allows visitors to send messages directly from the site.
  • Music Activity: Displays currently playing songs or recent tracks from Last.fm.
  • Live Service Status: Real-time status indicator showing whether the backend service is running.
  • Clean Styling: Dark and light theme support with responsive layout for mobile and desktop screens.

Requirements

  • Node.js 20 or later
  • pnpm 10 or later
  • An optional running instance of realm-api for authentication, contact forms, and backend features

Getting Started

1. Clone the repository

git clone https://github.com/irvanmalik48/realm.git
cd realm

2. Install dependencies

pnpm install

3. Configure environment variables

Copy the example configuration file and fill in your settings:

cp .env.example .env.local

Key settings to review:

  • NEXT_PUBLIC_SITE_URL: Address of this website (for example, http://localhost:3000).
  • API_URL: Address of the backend API server (for example, http://localhost:8080).
  • API_TOKEN: Optional API token to authorize backend requests.

4. Start the development server

pnpm dev

Open http://localhost:3000 in your browser.


Environment Variables

Variable Description
NEXT_PUBLIC_SITE_URL Public web address of the site (for example, https://irvanma.eu.org)
NEXT_PUBLIC_ENVIRONMENT Environment mode (development, production, test)
API_URL Base URL of the backend API service (for example, http://localhost:8080)
API_TOKEN API token used to authenticate backend requests
LASTFM_API_KEY Optional Last.fm API key to fetch recent music tracks
LASTFM_API_SECRET Optional Last.fm API secret

Available Scripts

# Start local development server
pnpm dev

# Build production bundle
pnpm build

# Run production server
pnpm start

# Run linter
pnpm lint

# Check TypeScript types
pnpm exec tsc --noEmit

License

Licensed under the Realm Collectives Community License (RCCL) Version 1.0.