Add How-to-run

Yen Nguyen 2025-10-16 15:43:00 +00:00
commit b0cbe248cd
1 changed files with 65 additions and 0 deletions

65
How-to-run.-.md Normal file

@ -0,0 +1,65 @@
# Development — Run both repos (Medusa backend + Next.js storefront)
This workspace contains two repositories you run together:
- Medusa backend: vibentecit-store — see [vibentecit-store/README.md](vibentecit-store/README.md) and [vibentecit-store/package.json](vibentecit-store/package.json)
- Key config: [`medusa-config.ts`](vibentecit-store/medusa-config.ts)
- Tests config: [`jest.config.js`](vibentecit-store/jest.config.js)
- Example scripts: [vibentecit-store/src/scripts/README.md](vibentecit-store/src/scripts/README.md)
- Next.js storefront: vibentecit-store-storefront — see [vibentecit-store-storefront/README.md](vibentecit-store-storefront/README.md)
- Key files: [`next.config.js`](vibentecit-store-storefront/next.config.js) and [`check-env-variables.js`](vibentecit-store-storefront/check-env-variables.js) (function: [`checkEnvVariables`](vibentecit-store-storefront/check-env-variables.js))
Use this guide to run both locally.
Prerequisites
- Node >= 18 (or the version your team enforces)
- Yarn (workspace uses Yarn in examples)
- A running Postgres/SQLite DB as configured by your env (see backend env vars in [`medusa-config.ts`](vibentecit-store/medusa-config.ts))
Quick setup (per-repo)
1. Backend (Medusa)
- cd vibentecit-store
- Copy env template and adjust: mv .env.template .env (or create .env with required vars referenced by [`medusa-config.ts`](vibentecit-store/medusa-config.ts))
- Install deps:
```
yarn
```
- Seed (optional):
```
yarn seed
```
This runs `medusa exec ./src/scripts/seed.ts` as defined in [package.json](http://_vscodecontentref_/0).
- Start dev server:
```
yarn dev
```
This runs `medusa develop` and will serve the API (default port 9000 unless overridden).
2. Frontend (Next.js storefront)
- cd vibentecit-store-storefront
- Copy env template and adjust:
```
mv [.env.template](http://_vscodecontentref_/1) [.env.local](http://_vscodecontentref_/2)
```
Ensure you set at minimum the store connection keys (see `checkEnvVariables` — it validates `NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY` by default) and any Stripe keys if needed per [README.md](http://_vscodecontentref_/3).
- Install deps:
```
yarn
```
- Start dev server:
```
yarn dev
```
By default the storefront runs at http://localhost:8000 (see the storefront README).
Run both together
- Start the backend first (so the storefront can connect to the API).
- Start the storefront after the backend is up.
Common env notes
- The storefront uses `NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY` and optionally Medusa Cloud S3 vars ([MEDUSA_CLOUD_S3_HOSTNAME](http://_vscodecontentref_/4), [MEDUSA_CLOUD_S3_PATHNAME](http://_vscodecontentref_/5)) referenced in `next.config.js` and validated by `checkEnvVariables`.
- The backend reads DB and CORS secrets from environment and from `medusa-config.ts`. Ensure `DATABASE_URL`, `STORE_CORS`, `ADMIN_CORS`, and `JWT_SECRET`/`COOKIE_SECRET` are set as needed.
Testing
- Backend tests use Jest. See [jest.config.js](http://_vscodecontentref_/6). Run integration/unit tests from the backend repo: