/Resources
/Frontend
/How to Contribute
/Marketing Web Setup

Marketing Web Setup

Learn how to set up, configure, and run the Reloop frontend marketing web service locally.

The Marketing Web Service is a premium Next.js frontend application that powers Reloop's main landing pages, pricing grids, feature checklists, public-facing collateral, and SEO-optimized web layers.

Prerequisite First

Before starting the Marketing Web app, make sure you've completed the base Local Development Setup and have the Bun package manager configured globally.


Quick Start

Dependencies are handled globally at the root directory. You can start the Marketing Web development server instantly:

# Start the dev server with Turbopack hot reloading
bun fe:web:dev
cd apps/frontend/web
bun dev

Once running, the Marketing Web service will listen on port 3000 locally. You can access it through the Caddy proxy at https://local.reloop.sh (or directly at http://localhost:3000) 🎉


Service Information

  • Directory Location: apps/frontend/web/
  • Local Listening Port: 3000 (configured via --port=3000 in the dev script)
  • Unified Access Route: https://local.reloop.sh
  • Primary Tech Stack: Next.js (with Turbopack), React 19, Tailwind CSS, Framer Motion, Calligraph
  • Dependencies: Relies on Caddy to proxy OAuth and subscriber cookie validations smoothly with the backend microservices.

Environment Setup

The Marketing Web environment variables are defined inside apps/frontend/web/.env. A standard local development .env file looks as follows:

# Base URL targeting the client layer
NEXT_PUBLIC_WEB_URL="https://local.reloop.sh"

# API Gateway Endpoint URL
NEXT_PUBLIC_API_URL="https://local.reloop.sh/api"

# Optional: Analytics tracking
NEXT_PUBLIC_ANALYTICS_ID=""

Reference Table

VariableRequiredDefault ValueDescription
NEXT_PUBLIC_WEB_URLYEShttps://local.reloop.shCore marketing site URL path.
NEXT_PUBLIC_API_URLYEShttps://local.reloop.sh/apiAPI proxy endpoint routing to ElysiaJS microservices.
NEXT_PUBLIC_ANALYTICS_IDNO""Optional Google Analytics or tracking pixel identifier.

Development Commands

All workspace operations should be executed from the monorepo root directory using Turborepo filters:

CommandActionScope
bun fe:web:devStart the Marketing Web Next.js app in Turbopack development modeDevelopment
bun run --filter=web buildCompile the Marketing Web app for production static deploymentProduction
bun run --filter=web startRun the compiled production build locallyProduction
bun run --filter=web lintRun Next.js linting checksCode Quality

Troubleshooting Guide

Port 3000 Conflict

If the terminal throws a port binding conflict, identify and clear the PID using port 3000:

# Inspect process listening on port 3000
lsof -i :3000

# Terminate process manually
kill -9 <PID>

Caddy Routing Issues

If navigating to https://local.reloop.sh triggers bad gateway errors:

  1. Ensure the Caddy container stack is healthy (bun docker:up).
  2. Verify that your /etc/hosts file maps local.reloop.sh correctly to 127.0.0.1.
  3. Check that the web server is active and running on port 3000.