The public site for Trimatech Games: the Roblox games, the Studio plugins on the Creator Store, the studio's mission and contact details. English at trimatech.dev, Estonian at trimatech.ee.
- Framework: Next.js with App Router
- UI: Chakra UI v3
- i18n: next-intl, strings in
messages/<locale>/page.json - Deployment: Vercel
- Games and plugins are listed in
data/roblox.ts(Roblox ids, versions, icon slugs). Taglines, intros and feature lists live in the message files. - Every game has a page at
/games/<slug>and every plugin at/plugins/<slug>. Slugs outsidedata/roblox.tsare a 404. - Plugin docs live in
content/docs/<slug>.tsas typed sections (English only) and render at/plugins/<slug>/docs. Add a plugin tocontent/docs/index.tsto give it a docs page and a Docs link on its card. A plugin with its own docs site (Click to Build) setsdocsLinkindata/roblox.tsinstead and links out. - Icons are checked in under
public/roblox/gamesandpublic/roblox/plugins. - Visit counts, player counts and the group member count come from the public Roblox API at request time (
lib/roblox-stats.ts) and are cached for an hour. If Roblox is unreachable the numbers are hidden and the page still renders.
Node.js 18 or later and pnpm.
git clone https://github.com/MayGo/trimatech.git
cd trimatech
pnpm install
cp .env.local.example .env.local
pnpm devThen open http://localhost:3000.
The only environment variable is NEXT_PUBLIC_SITE_URL, used to build absolute URLs for Open Graph tags. On Vercel it falls back to NEXT_PUBLIC_VERCEL_URL, so production needs nothing set.
public/og.png (1200 by 630 px) is the preview image for Twitter, Facebook, LinkedIn and Slack. Replace the file to change it; the meta tags in app/[locale]/layout.tsx already point at it.
Push to GitHub and import the repository on Vercel. pnpm build runs next-sitemap afterwards, which writes sitemap.xml and robots.txt into public.
