docs: update README for v1.0.1 — PM2 deploy, premium features, production-ready
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m50s

This commit is contained in:
openhands committed 2026-07-24 14:37:18 +02:00
1 parent fee71fe7dc
commit fc42a1c138
1 file changed
+28 -6
+28 -6
View File
@@ -1,8 +1,8 @@
# EpicNext-CMS
# EpicNext-CMS v1.0.1
A modern, high-performance content management system for Habbo hotel emulators, built on **Next.js 16** (App Router) with **Prisma 7** and **React 19**. Designed to integrate seamlessly with Polaris / Arcturus Morningstar MySQL/MariaDB databases.
Features a full public-facing website, an administrative panel, NextAuth authentication (argon2id/bcrypt with MD5-to-argon2id upgrade), real-time RCON communication with the emulator, Server-Sent Events for live radio data, smooth page transitions, and extensive extensibility.
Features a premium animated homepage (typewriter hero, floating orbs, scroll counters), a full admin panel, NextAuth authentication (argon2id/bcrypt with MD5-to-argon2id upgrade), real-time RCON communication, Server-Sent Events for live radio data, smooth page transitions, and PM2 production deployment.
---
@@ -98,6 +98,27 @@ Open `http://localhost:3000` in your browser.
---
## Production Deployment (PM2)
```bash
pnpm build
pm2 start pnpm --name "next" -- start
pm2 save
```
Restart after updates:
```bash
git pull
pnpm install
pnpm build
pm2 restart next
```
The CMS runs behind an nginx reverse proxy on the default port 3000. Static assets (media uploads) are persisted via `/api/media/*` and survive rebuilds.
---
## Scripts
| Command | Description |
@@ -125,13 +146,14 @@ Open `http://localhost:3000` in your browser.
| **Server-Sent Events** | Real-time radio now-playing & listeners via SSE (no polling) |
| **Redis Caching** | Caches API responses (home, radio config) up to 30s in Redis |
| **Bundle Analyzer** | Run `pnpm analyze` to visualize and optimize bundle sizes |
| **AnimatePresence** | Framer Motion exit animations on modals, dialogs, and lightbox |
| **RCON (TCP Socket)** | Live commands to the emulator (credits, badges, kick, ban) |
| **Streaming & Suspense** | Next.js App Router streaming for fast page loads |
| **Automatic Image Optimization** | `next/image` with Sharp for resizing and WebP/AVIF |
| **CSS-based Animations** | Base UI components use `data-open`/`data-closed` CSS animations |
| **CSS-based Animations** | `input-glow`, `btn-shine`, `Reveal` scroll animations, floating orbs |
| **Compression** | Gzip compression enabled on all responses |
| **Stale Times** | Optimized router cache (30s dynamic, 180s static) |
| **PWA** | Service worker with skip-waiting, stale CSS chunk recovery |
| **Biome** | Fast linting and formatting (replaces ESLint + Prettier) |
---
@@ -158,7 +180,7 @@ Open `http://localhost:3000` in your browser.
│ │ ├── cache.ts # In-memory cache fallback
│ │ ├── motion.ts # Framer Motion animation variants
│ │ └── use-event-source.ts # React hook for SSE subscriptions
│ ├── messages/ # i18n translations (en, nl, de, fr, es, it)
│ ├── messages/ # i18n translations (en, nl, de, fr, es, it, pt, da, no, sv)
│ └── env.ts # Zod-validated environment schema
├── public/
│ ├── assets/ # Images, icons, fonts
@@ -228,7 +250,7 @@ Optional OpenAI-powered moderation for comments and guestbook posts. Set `OPENAI
```bash
pnpm dev # Start with hot reload
pnpm typecheck # Type check all files
pnpm test # Run test suite (312+ tests)
pnpm test # Run test suite
pnpm analyze # Build and analyze bundle sizes
pnpm biome:check # Lint and format
```