I've made a simple CLI program that helps you generate your NodeJS / Express project structure, based on your selected configuration.
You can check it out here: express-app-cli.
It creates the following project structure:
tests/ - Unit and integration tests
views/ - If using view engines (pug, handlebars etc.)
src/
app.ts - Main entry point of the application
api/
index.js - Main entry point for all defined routes
routes/ - All the routes go in this folder
services/ - Business logic
controllers/ - Route controllers (handlers)
config/ - ENV's and other configuration related stuff
loaders/ - Splitting the start up process (express, database connection, CRON jobs etc.)
models/ - Database models
middlewares/ - All custom middlewares (authentication, authorization etc.)
utils/ - Utility functions (e.g. validations)
jobs/ - CRON jobs
types/ - All the types and interfaces that we'll use
It currently supports a couple of configuration options:
- Languages: Javascript, Typescript
- Databases: MongoDB, MySQL, Postgres, SQLite
- Testing libraries: Jest, Chai, Mocha
- Templating engines: Handlebars, PUG, EJS
- ORMs:
- Mongoose (installed by default with MongoDB)
- Sequelize
- TypeORM
You can install it globally trough:
npm install -g express-app-cli
yarn add global express-app-cli
Then to use it:
express-app < project-directory > [options]
It still has some work to be done (testing, refactoring). If you have any ideas, or find any bugs, feel free to open a PR / Issue.
Top comments (3)
Nice project! I gladly give it a try
Some comments may only be visible to logged-in visitors. Sign in to view all comments.