From 73f0f546248b8e46aa868c8368dc7dafe05a64ba Mon Sep 17 00:00:00 2001 From: simoleo89 Date: Sun, 28 Jun 2026 13:55:54 +0200 Subject: [PATCH] Add atomcms-next README (how to run + try) --- README.md | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 00000000..b6cd0e73 --- /dev/null +++ b/README.md @@ -0,0 +1,64 @@ +# atomcms-next + +AtomCMS (Laravel) converted to **Next.js 16** (App Router) + **Prisma 7** against the +same Arcturus-emulator MySQL/MariaDB database. Auth via NextAuth (argon2id/bcrypt + +md5→argon2id upgrade), RCON to the emulator, full public site + admin panel. + +## Try it now (no database) + +The dev/preview server is already running — open: + +> **http://localhost:3000** + +Public pages render with fallback defaults (empty data). Login / register / admin +need a database (below). + +## Try it for real (your AtomCMS database) + +Point it at your live (or a copy of your) AtomCMS database to log in with real +accounts and see real data: + +1. Edit `atomcms-next/.env`: + ```dotenv + DATABASE_URL=mysql://USER:PASSWORD@HOST:3306/DBNAME + DATABASE_CONNECT_TIMEOUT_MS=10000 + AUTH_SECRET=any-long-random-string-at-least-32-chars + HOTEL_NAME=YourHotel + # Optional emulator link (for RCON: give credits, ban, motto, disconnect): + RCON_HOST=127.0.0.1 + RCON_PORT=3001 + ``` +2. Restart the server (`pnpm -C atomcms-next start`, or `pnpm dev`). +3. Log in at `/login` with any existing account. Staff (rank ≥ `min_staff_rank`, + default 7) get the **/admin** panel. New users can `/register`. + +It reads the schema you already have — no migrations are run against the emulator +tables (introspect/conform only). `prisma generate` is already done; if you add +tables, `pnpm -C atomcms-next prisma:generate`. + +## Run it yourself + +```bash +cd atomcms-next +pnpm install # already done +pnpm dev # dev server (hot reload) on :3000 +# or: +pnpm build && pnpm start # production +pnpm typecheck # tsc --noEmit +pnpm test # vitest (unit tests) +``` + +## What's built + +- **Public:** home, news (+comments/reactions), shop, marketplace, community, + rankings, staff, photos, guilds, rares, leaderboard, help (+tickets), profile + `/u/` (badges/photos/guestbook), client launcher `/client` (SSO ticket), + login / register / logout, settings, voucher redeem. +- **Admin (`/admin`, staff-gated):** users (give currency/motto/rank/alert/kick via + RCON), rooms, articles, catalog, vouchers, badges, radio, achievements, + rare-values, photos, bans, applications, word-filter, IP, logs, teams, + housekeeping, permissions, emulator config, email templates, calendar, + subscriptions, CMS settings. +- **Core:** Prisma data layer (190 models), NextAuth auth core (byte-compatible + argon2id/bcrypt/md5 + SSO ticket + Laravel encrypter + TOTP), RCON client + + currency service, atom visual theme (self-hosted Nunito).