Project Structure
Directory Overview
readystart/
├── api/ # Backend business code
│ ├── src/
│ │ ├── main.ts # Entry point
│ │ ├── app.module.ts # Root module (register your Controllers)
│ │ ├── controllers/ # Your business Controllers
│ │ ├── services/ # Your business Services
│ │ ├── config/website/ # Config files (payment, tenant)
│ │ ├── config/mail/ # Email templates
│ │ ├── migrations/ # Your database migrations
│ │ └── utils/ # Utilities
│ └── views/ # Page templates (hbs)
│
├── console/ # Frontend business code
│ ├── src/
│ │ ├── router/ # Routes + guards
│ │ ├── pages/ # Your pages
│ │ ├── layouts/ # Layout components
│ │ ├── config/ # Menu, payment config
│ │ └── styles/ # Styles
│
├── libs/api-core/ # Core backend (do not modify)
│ └── src/
│ ├── auth/ # Authentication
│ ├── billing/ # Billing
│ ├── tenant/ # Multi-tenancy
│ ├── users/ # Users
│ ├── admin/ # Admin panel
│ ├── notification/ # Notifications
│ ├── system/ # System
│ └── shared/ # Shared (Guards, Services, Interfaces)
│
├── libs/console-core/ # Core frontend (do not modify)
│ └── src/
│ ├── api/ # API layer
│ ├── stores/ # Zustand state management
│ ├── features/ # Feature page components
│ ├── components/ # UI components
│ └── utils/ # Utilities
│
├── website/ # Website (Astro)
└── docker/ # Docker configs
Core Libraries vs Business Code
| Core Libraries (libs/) | Business Code (api/, console/) |
|---|
| Purpose | Provide base features | Your business logic |
| Modify? | Not recommended | Freely modify |
| Package | @readystart/api-core, @readystart/console-core | — |
Config Files
Config files are in api/src/config/website/, loaded via the CONFIG_SUFFIX environment variable:
CONFIG_SUFFIX=local → payment.local.ts + tenant.local.ts
CONFIG_SUFFIX=example → payment.example.ts + tenant.example.ts
| File | Description |
|---|
payment.{suffix}.ts | Payment config (subscription plans, credit packages, pricing) |
tenant.{suffix}.ts | Tenant config (custom roles) |