# VeryExpress
VeryExpress is a generator that reads JSON Schema and produces a complete Express.js REST API (TypeScript, Mongoose, RBAC, OAuth2, Swagger).

## Features
- Generate Express TypeScript server from JSON Schema
- API validation with `express-validator`
- OpenAPI generation + Swagger UI
- OAuth via `passport` (OAuth2)
- Mongoose (MongoDB) and TypeORM(SQL) DB driver 
- CLI for quick project scaffolding

## Quick Start
1. Install globally (optional):
```
npm i -g very-express
```
Or run via `npx`:
```
npx very-express
```
2. Initialize config in project root:
```
vex -init
```
This creates `vex.config.json`.

3. Create schema directory (or use directory set in `vex.config.json`):
```
mkdir jsonSchema
```
4. Add your JSON Schema files into `jsonSchema/` following schema guide: [docs/vexJsonSchema.md](docs/vexJsonSchema.md)

5. Generate app:
```
vex
```
6. Run generated app:
```
cd output
npm i
npm run dev
```

Notes:
- suffix `*.gen.ts` is regenerated by the generator. edit at own risk.

## Docs
- Schema reference: [docs/vexJsonSchema.md](docs/vexJsonSchema.md)
- Contributing: [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md)
- Usage & CLI: [docs/USAGE.md](docs/USAGE.md)
- Changelog: [docs/CHANGELOG.md](docs/CHANGELOG.md)
- Release notes: [docs/releaseNote/](docs/releaseNote/)

