1a7d7160982e6e547d77534e9faaeb6c8b6c2d8f
Web App Template
A starting point for new Hellion Online Media web apps on the Hellion Forge.
Stack:
- Next.js 16 (App Router, Turbopack)
- React 19
- TypeScript strict mode
- Prisma ORM + MySQL
- NextAuth (auth.js v5)
- Sass/SCSS in external files — never inline styles
- FontAwesome
This mirrors the production stack used for hellion-media-website, hellion-initiative-v3, and nova-corporation.de.
How to use this template
- Click "Use this template" on the Forge.
- Clone locally and replace project name in:
package.json→nameREADME.md→ this section + project description
- Set up your
.env.localfrom.env.example. npm install,npx prisma generate,npx prisma migrate dev.npm run dev→ http://localhost:3000.- Implement your app in
src/app/.
Project structure
.
├── .editorconfig
├── env.example Template for .env.local. Rename to .env.example after cloning if you prefer the dot-prefix convention.
├── .gitea/
│ ├── ISSUE_TEMPLATE/
│ ├── PULL_REQUEST_TEMPLATE.md
│ └── workflows/
│ └── ci.yml Lint + type-check + Prisma validate
├── .gitignore
├── prisma/
│ └── schema.prisma Skeleton with NextAuth tables
├── src/
│ ├── app/
│ │ ├── layout.tsx Root layout
│ │ ├── page.tsx Home page
│ │ └── api/auth/[...nextauth]/route.ts
│ ├── components/ Reusable UI components
│ ├── lib/
│ │ ├── prisma.ts Prisma client singleton
│ │ └── auth.ts NextAuth config
│ └── styles/
│ └── globals.scss Global styles entry
├── next.config.ts
├── package.json
├── tsconfig.json
├── CODEOWNERS
├── LICENSE MIT
└── README.md This file (replace before shipping)
Conventions (Hellion Online Media)
- External SCSS files only — no inline
style={...}, nostyle.cssper component. Co-located*.module.scssis fine. - Database access via DAL layer — direct Prisma calls only inside
src/lib/dal/*.ts, never in components or routes. Pattern fromhellion-initiative-v3. - No client-side secrets — all auth/DB access goes through server components or route handlers.
- PM2 single-process deployment — production runs on Strato Windows Server with PM2 + IIS reverse proxy. No clustering, no Vercel.
Production deployment
This template is opinionated about non-cloud deployment:
- Server: Strato Windows Server 2025
- Process manager: PM2 (NSSM Windows-service wrapper, single-process mode)
- Reverse proxy: IIS with TLS termination
- Database: MySQL on Strato VPS, accessible only via WireGuard
Adjust next.config.ts accordingly (no output: 'standalone' unless you containerize).
License
MIT — see LICENSE.
Languages
TypeScript
85.3%
SCSS
14.7%