Skip to content

01 — someli-platform setup

You've finished ../00-workstation-setup.md. Now stand up someli-platform.


1. Clone

cd ~/src/someli
git clone git@github.com:Someli-ai/someli-platform.git
cd someli-platform
git checkout dev_app      # the active dev branch

Verify with the team if the active dev branch differs.


2. Pin Node 20

The repo has no .nvmrc — your version manager will not auto-switch. Set it yourself:

nvm use 20.18.3
node --version            # v20.18.x
yarn --version            # 1.22.x (Yarn 1 classic — NOT 2/3/4)

If yarn --version prints 2.x or above, see ../00-workstation-setup.md §4.


3. Install dependencies — TWO node_modules trees

This repo is actually two Node projects:

someli-platform/                  ← the Nuxt 2 SPA
├── package.json                  ← Nuxt deps
├── yarn.lock
├── node_modules/                 ← ~840 MB
└── polotno-editor/               ← independent React 18 + Parcel app
    ├── package.json              ← Polotno + React deps
    ├── yarn.lock
    └── node_modules/             ← ~600 MB

Install both:

# At repo root
yarn install                      # ~840 MB; takes a few minutes

# Polotno sub-project
cd polotno-editor
yarn install                      # ~600 MB
cd ..

Important: do not use npm install here. The lockfile is yarn.lock and npm will produce a different dependency tree.

Disk requirement: plan for ~1.5 GB once everything is installed, plus build artefacts. SSDs strongly recommended.


4. The .env file

The repo does not ship a .env.example. Ask the team for the dev FE env.

The file lives at the project root: someli-platform/.env. Nuxt loads it via @nuxtjs/dotenv during build.

Variables you need at minimum

Var What Example
API_URL Where the FE points its axios baseURL http://localhost:5002 if running someli-api locally, else the team's dev API URL
BASE_URL Front-end's own URL http://localhost:3000
GTM_ID Google Tag Manager ID optional; only needed if you exercise analytics
CLARITY_ID Microsoft Clarity ID optional

Junior shortcut. For your first week, ask for a developer .env that already points to a stable dev backend. You generally do NOT need to run someli-api locally to develop the FE — pointing at the team's dev API is usually easier.


5. Start the dev server

# At repo root
yarn dev
# alias for: nuxt

The Nuxt dev server starts on http://localhost:3000.

The first build takes 30–90 seconds (Nuxt webpack compile + Polotno bundle resolution). Subsequent saves trigger HMR — fast.

If you need to rebuild the Polotno editor

The editor's runtime code lives at the repo root as polotno-bundle.js (and .css). It is the built output of polotno-editor/. You only need to rebuild it if you change something inside polotno-editor/:

cd polotno-editor
yarn dev                  # Parcel dev server, http://localhost:1234 — interactive
# or, to produce the bundle the Nuxt app actually loads:
yarn build                # writes polotno-bundle.js into the parent repo root
cd ..
# now restart `yarn dev` at the repo root if the Nuxt app was already running

6. Smoke test

Open http://localhost:3000. You should see the login page.

Log in with a dev account (ask the team for credentials). After login, you'll land on the dashboard or onboarding flow, depending on the account's state.

If pages don't load:

  • Check the browser devtools network tab — failed requests usually point at a wrong API_URL.
  • Check the browser devtools console — Vue 2 errors and runtime errors land here.
  • Confirm the backend you point at is reachable: curl $API_URL/health.

7. Browser tooling

  • Install Vue DevTools v6.x (the legacy version — Vue 3 DevTools does not work with Vue 2.7). See ../00-workstation-setup.md §7.
  • The Vue DevTools panel exposes the component tree, Vuex store, and event bus — essential for debugging.

8. Other useful commands

# Production build (locally)
yarn build
yarn start                # serves the built SPA

# Format with Prettier (someli-platform has Prettier configured; Someli-Designer does not)
yarn format

There is no test suite and no linter configured. You are the test suite.


9. You're done with setup

If yarn dev runs, you can hit http://localhost:3000, and login works against the dev API, you are ready.

Next: 02-stack.md.


Troubleshooting

Symptom Likely cause
yarn install hangs on node-sass / node-canvas Missing system packages — see ../00-workstation-setup.md §2
Login redirects in a loop API_URL wrong, or backend unreachable — open devtools network tab
Polotno editor blank polotno-bundle.js missing — rebuild inside polotno-editor/
Pages flash an error and redirect to /login Auth cookie mismatch; clear cookies (Application tab in devtools) and re-login
Module not found: @nuxtjs/auth First-time installation may have been interrupted; re-run yarn install
HMR doesn't pick up component changes Stop and restart yarn dev; sometimes Nuxt's file watcher gets confused after a long session