Getting Started
Local development setup for the frontend
Getting Started
Prerequisites
- Docker and Docker Compose (v2+)
- The backend running (see Backend Quick Start)
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
npmornodecommands directly on the host. Always usedocker compose exec app <command>.
Docker Setup
The docker-compose.yml defines a single service:
| Service | Port | Purpose |
|---|---|---|
app | 3000 | Nuxt 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
| Script | Command |
|---|---|
| Dev server | docker compose exec app npm run dev |
| Build | docker compose exec app npm run build |
| Run tests | docker compose exec app npm run test |
| Watch tests | docker compose exec app npm run test:watch |
| Test coverage | docker compose exec app npm run test:coverage |