Sitelet https://github.com/AlphaNodesDev/ReportBridge/tree/main/web
Skip to content

Latest commit

 

History

History

README.md

ReportBridge Web Dashboard

The web dashboard for ReportBridge - network-wide Minecraft reporting and moderation. Built with Next.js (App Router), TypeScript and Tailwind CSS.

Architecture

The dashboard is a pure frontend. It never touches a database directly - all data flows through the ReportBridge API over HTTPS:

Browser (this app)  ->  ReportBridge API  ->  Database

The browser stores only the website session JWT. Network API secrets and the Discord bot token never live in the browser.

Structure

web/
├── app/            # App Router pages (landing, auth, dashboard)
├── components/     # Reusable UI (Sidebar, StatusBadge, NetworkSwitcher)
├── lib/            # Client helpers (session storage)
├── services/       # API client
├── types/          # Shared types
├── public/         # Static assets
└── styles/         # (global styles live in app/globals.css)

Pages

  • / landing page
  • /login, /register
  • /dashboard overview (stat cards + recent reports)
  • /dashboard/reports, /dashboard/reports/[id]
  • /dashboard/servers, /dashboard/network, /dashboard/staff
  • /dashboard/discord, /dashboard/api, /dashboard/settings

Development

npm install
cp .env.example .env.local   # set NEXT_PUBLIC_API_URL
npm run dev

Type-check without building:

npm run typecheck

Production build:

npm run build && npm start

Environment

Variable Purpose
NEXT_PUBLIC_API_URL Base URL of the ReportBridge API

Never commit real secrets. Only the public API URL belongs in this app's env.