Skip to main content
For basic setup instructions, see the Quickstart Guide.

Development Scripts

Here are the available development commands:
pnpm dev         # Start all services using Turborepo

Environment Variables

API Variables

For API environment variables, check /apps/api/.env.example.
  • DATABASE_URL: Database connection string, you can get it from Neon Console after creating a new database
  • JWT_SECRET: JWT secret key, use openssl rand -base64 32 to generate
  • COOKIE_KEY: Cookie key, it uesed to be cookie name to store JWT token. You can use any string as the cookie key, but it should be the same as the one in the admin frontend. default to token

Admin Frontend Variables

For Admin Frontend environment variables, check /apps/admin/.env.example.
  • VITE_APP_NAME: Application name, it will be used as the title of the admin panel
  • VITE_API_URL: API endpoint URL, it will be used to fetch data from the API
  • VITE_ENABLE_DEVTOOLS: Enable/disable development tools, default to false
  • VITE_EDITOR: Editor configuration, default to vscode, you can use cursor if you are using Cursor IDE

Testing

The project includes several testing utilities:
# Run tests
pnpm test

# Run tests in watch mode
pnpm test:watch

# Run tests with UI
pnpm test:ui

# Run tests with coverage
pnpm test:coverage

Component Development

We use Storybook for component development and testing:
# Start Storybook
pnpm storybook   # Available at http://localhost:6006

# Build Storybook
pnpm build-storybook

Documentation

To work on the documentation locally:
# Start documentation site
pnpm docs:dev    # Available at http://localhost:3004

# Build documentation
pnpm docs:build

# Check for broken links
pnpm docs:lint

Code Quality

The project uses several tools to maintain code quality:
  • ESLint: For code linting
  • simple-git-hooks: For pre-commit checks
  • lint-staged: For running linters on staged files
  • commitlint: For commit message conventions
# Fix linting issues
pnpm lint:fix

Troubleshooting

If you’re having trouble running the development script:
  1. Make sure you have installed the project dependencies using pnpm
  2. Make sure you have set up the environment variables correctly
Sometimes environment variables will change because the project is still under development and not yet stable. This requires you to manually compare the variables in the sample file with those actually used. We are very sorry for the inconvenience.

Next Steps