Getting Started

Local development setup for the frontend

Getting Started

Prerequisites

You do not need Node.js installed on your host machine. Everything runs inside Docker.

Setup

1. Clone the Repository

git clone <your-repo-url> go-mvp-frontend
cd go-mvp-frontend

2. Configure Environment

Environment variables are set in docker-compose.yml or via a .env file:

NUXT_PUBLIC_API_BASE_URL=http://localhost
NUXT_PUBLIC_FIREBASE_API_KEY=your-firebase-api-key
NUXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your-project.firebaseapp.com
NUXT_PUBLIC_FIREBASE_PROJECT_ID=your-firebase-project-id

3. Start the Development Server

docker compose up -d

The app will be available at http://localhost:3000.

4. Verify

Open http://localhost:3000 in your browser. You should see the GO-MVP landing page.

Development Workflow

All commands run inside the Docker container:

# Start the dev server
docker compose up -d

# Install a new package
docker compose exec app npm install <package-name>

# Run tests
docker compose exec app npm run test

# Build for production
docker compose exec app npm run build

Important: Never run npm or node commands directly on the host. Always use docker compose exec app <command>.

Docker Setup

The docker-compose.yml defines a single service:

ServicePortPurpose
app3000Nuxt dev server

The container uses a named volume for node_modules, which means:

  • Host node_modules/ is empty (this is expected)
  • Dependencies are installed inside the container
  • Hot module replacement works via volume mounts

Available Scripts

ScriptCommand
Dev serverdocker compose exec app npm run dev
Builddocker compose exec app npm run build
Run testsdocker compose exec app npm run test
Watch testsdocker compose exec app npm run test:watch
Test coveragedocker compose exec app npm run test:coverage