A basic boilerplate for building Express.js applications.
- π οΈ Modular route and controller structure
- βοΈ Middleware support for request handling
- πΌοΈ Handlebars templating engine for views
- π Static file serving (CSS, JS, etc.)
- π Environment-based configuration
- π Example
.env
file for environment variables - β Pre-configured ESLint and Prettier for code quality
- π Nodemon for development server auto-reloading
express-boilerplate/
βββ bruno-data/ # Placeholder for data-related files
βββ client/ # Placeholder for client-side code
βββ config/ # Configuration files
β βββ middleware/ # Custom middleware
β βββ api.routes.js # API route definitions
β βββ auth.routes.js # Authentication route definitions
β βββ service.routes.js # Service route definitions
β βββ website.routes.js # Website route definitions
βββ controllers/ # Route handlers/controllers
β βββ api.controller.js # API controller logic
β βββ auth.controller.js # Authentication controller logic
β βββ service.controller.js # Service controller logic
β βββ website.controller.js # Website controller logic
βββ helpers/ # Utility/helper functions
βββ public/ # Static files (CSS, JS, images)
β βββ css/ # Stylesheets
β βββ js/ # JavaScript files
βββ views/ # Handlebars templates
β βββ layouts/ # Layout templates
β βββ main.hbs # Main layout
β βββ home.hbs # Home page template
βββ .env # Environment variables file
βββ .env.sample # Example environment variables file
βββ .editorconfig # Editor configuration
βββ .gitignore # Git ignore rules
βββ eslint.config.mjs # ESLint configuration
βββ index.js # Main application entry point
βββ nodemon.json # Nodemon configuration
βββ package.json # Project dependencies
βββ pnpm-lock.yaml # Lock file for pnpm
βββ readme.md # Project documentation
βββ tsconfig.json # TypeScript configuration (if applicable)
- π§ Add configurations to enable/disable route families
- β‘ Install a default pm2 configuration
- π€ Create some defaults for Copilot
- β¨ Add and Improve documentation: client side tooling, bruno, esm.