Getting Started

Installation

Setting up the Booki development environment.

Prerequisites

  • Node.js v20+
  • Yarn v1.22+
  • MongoDB (local or Atlas)
  • Redis (local or Upstash)

Clone the Repos

All repositories live under the Codi-Team GitHub org. The typical workspace setup:

mkdir booki && cd booki
git clone https://github.com/Codi-Team/booki-api
git clone https://github.com/Codi-Team/codi-node-utils
git clone https://github.com/Codi-Team/codi-layer
git clone https://github.com/Codi-Team/customer-booki-web-app
git clone https://github.com/Codi-Team/owner-booki-web-app
git clone https://github.com/Codi-Team/admin-booki-web-app
git clone https://github.com/Codi-Team/cms-booki-web-app

Backend — booki-api

cd booki-api
yarn install
cp .env.example .env   # fill in your MongoDB URI, Redis URL, JWT secrets
yarn dev

The API starts on http://localhost:3001 by default.

Frontend apps

Each frontend app uses the same setup:

cd customer-booki-web-app   # or owner-, admin-, cms-
yarn install
cp .env.example .env        # set API_CORE=http://localhost:3001
yarn dev

The app proxies all /api/** requests to API_CORE via Nuxt route rules, so no CORS setup is needed.

codi-layer (shared layer)

When doing local development of codi-layer, link it before running the consuming app:

# In codi-layer/
yarn link

# In any consuming app (e.g. customer-booki-web-app)
yarn link codi-layer

See DEPENDENCY_LINKING.md in codi-layer/ for detailed instructions.

codi-node-utils

Similarly, when iterating on the shared utilities:

# In codi-node-utils/
yarn link

# In booki-api/
yarn link @codisolutions23/node-utils