The site is built with Next.js 16, a fully custom CSS Modules + Design Token system (no Tailwind), and deployed via a Docker‑based workflow.
Local development uses Docker Compose to ensure a consistent, reproducible environment across machines. The Next.js app, API services, and Nginx proxy all run together with unified logging.
Before starting, ensure the following sibling repositories exist:
rpi-docker-composemetaforiq-noderpi-nginx
Run from the root of rpi-docker-compose:
docker compose upThe site will be available at:
http://localhost
Press Ctrl + C to stop the containers, or:
docker compose downProduction is fully automated via GitHub Actions and Docker Hub. The server simply pulls the latest images and restarts the stack.
From the rpi-docker-compose directory:
docker compose up -dEnsure your .env files are present before running.
https://metaforiq.com
-
Next.js 16
Modern React server components, Turbopack, and a simplified build pipeline. -
React
Component‑driven UI architecture. -
CSS Modules + Design Tokens
A fully custom semantic design system using:- global CSS variables for color, spacing, typography, radii
- component‑scoped CSS Modules
- dark‑mode aware semantic tokens
- Node.js
Supporting services and API utilities.
-
Docker & Docker Compose
Local and production orchestration. -
Nginx
Reverse proxy and static asset delivery. -
GitHub Actions
CI/CD pipeline for automated builds and deployments.
The frontend uses a clean, component‑driven architecture:
/app ← Next.js App Router (pages & layouts)
/styles
globals.css ← design tokens + global utilities
/components ← reusable UI components
/NavBar
/Hero
/Services
/ServiceCard
/Expertise
/CTASection
/Footer
/LoadingMessageAll components use:
- semantic CSS variables
- CSS Modules for scoping
- global
.containerlayout primitive - zero Tailwind classes
This project is proprietary and not licensed for redistribution.