Public-facing website for VikraHub — a platform for creatives to publish work, build reputation, and connect with opportunities.
Built with Next.js 14 (App Router) and deployed on Vercel.
npm install
cp .env.example .env.local # then edit values
npm run dev # → http://localhost:3001All commands run from the project root (apps/web/).
| Command | Purpose |
|---|---|
npm run dev |
Start dev server (port 3001) |
npm run build |
Production build |
npm run start |
Serve production build |
npm run lint |
ESLint check |
npm run typecheck |
TypeScript type checking |
See .env.example for all variables.
| Variable | Required | Description |
|---|---|---|
NEXT_PUBLIC_API_URL |
Yes | Backend API URL (inlined at build time) |
NEXT_PUBLIC_SITE_URL |
Yes | Canonical site URL for metadata |
INTERNAL_API_URL |
No | Server-side API URL (Docker networking) |
src/
app/ ← Pages and routes
components/ ← React components
lib/ ← API clients and utilities
content/ ← Static markdown pages (About, Terms, etc.)
public/ ← Static assets (favicon, logo)
next.config.js ← Next.js configuration
| Domain | Purpose |
|---|---|
www.vikrahub.com |
This repo — public website |
app.vikrahub.com |
Main application (main VikraHub repo) |
api.vikrahub.com |
Backend API (main VikraHub repo) |
/— Homepage with featured work and discover feed/about,/vision,/how-it-works— Static content pages/privacy,/terms— Legal pages/ssr/post/[id],/ssr/blog/[slug],/ssr/work/[id]— SSR pages with Open Graph tags for social sharing
- Platform: Vercel
- Root Directory:
apps/web(set in Vercel project settings) - Build Command:
npm run build - Output Directory:
.next - Environment variables must be set in Vercel dashboard.
docker build \
--build-arg NEXT_PUBLIC_API_URL=https://api.vikrahub.com \
--build-arg NEXT_PUBLIC_SITE_URL=https://www.vikrahub.com \
-t vikrahub-web .
docker run -p 3001:3001 vikrahub-webGitHub Actions runs on every push and PR to main:
- Install dependencies
- Lint
- Type check
- Build