https://github.com/justin26l/veryexpress
https://github.com/justin26l/veryexpress
express generator jsonschema mongoose npm openapi rest-api webserver
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/justin26l/veryexpress
- Owner: Justin26l
- License: mit
- Created: 2023-12-04T16:11:02.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-28T17:53:16.000Z (3 months ago)
- Last Synced: 2025-03-28T18:47:41.524Z (3 months ago)
- Topics: express, generator, jsonschema, mongoose, npm, openapi, rest-api, webserver
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/very-express
- Size: 654 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Roadmap: docs/roadMap/RoadMap.md
Awesome Lists containing this project
README
# VeryExpress
this is a generator to make [Express](https://github.com/expressjs/express) app
with custom REST API defined in [Json Schema](https://github.com/json-schema-org) and [Open Api](https://github.com/OAI)# Features
- generate simple express.js server.
- generate custom REST API.
- API Validator by [express-validator](https://express-validator.github.io/docs/)
- generate OpenApi
- [Swagger UI Express](https://github.com/scottie1984/swagger-ui-express)
- OAuth by [Passport.js](https://www.passportjs.org/)
- Database Driver
- MongoDB by [Mongoose](https://mongoosejs.com/)## Why use ExpressJs
express.js is a simple & flexible framework to build a web app, it provide balanced performance,
as this is open-source project, i want lower the technical barrier to contribute ideas,
eventually lead to a usefull and powerful framework.
# Quick Start
1. install package globally.
```npm i -g very-express```
3. use cli to initialize configuration file **vex.config.json** under your project root directory.
`vex -init`
2. create a empty directory and name it as value of vex.config's "jsonSchemaDir", by default `jsonSchema`.
`mkdir jsonSchema`.
4. you can create your db collection/table now in directory `./jsonSchema` just created,
refer to [Define Json Schmea](./docs/vexJsonSchema.md),
every changes require to regenerate app.
6. generate the app with vex.config param.
`vex`
7. you should saw a express typescript app being generated (with src, package.json etc) .
```
├── jsonSchema/
│ └── ...
├── src/
│ └── ...
├── package.json
├── tsconfig.json
├── vex.config.json
└── .env
```
8. start the generated express app.
```
npm i
npm build
npm run start
```# Resource
- [Documents](./docs/)
- [Road Map](./docs/roadMap/)
- [ReleaseNote](./docs/releaseNote)- [Discord](https://discord.gg/PZGMzDp7)