☕expresso-macchiato
🧘 Relax. Let expresso-macchiato handle it.
Writing a fully operational backend server—with routes, a database, and documentation—shouldn’t feel like crafting a rocket 🚀. With expresso-macchiato, the setup is minimal, the structure is clean, and the flexibility is in your hands.
No more boilerplate. No more endless wiring.
🧩 What is expresso-macchiato?
expresso-macchiato is a lightweight but powerful Node.js framework built on top of Express and TypeORM. It simplifies the process of:
Creating and exposing RESTful routes from entity definitions.
Generating and serving a Swagger schema out of the box.
Bootstrapping your entire app (routes, database, sockets, etc.) with a single class.
It's designed for developers who want to go from zero to production-ready server in minutes.
Writing this:
export const noteRoutes = new RouterWrapper({
tag:'note',
basePath:'/api/note',
dbRouting:
{
entity: Note,
secure: { user_id: { tokenKey: 'id', methods: "*" } },
getParameters: [{ in: 'query', like:true, name:'content' }],
bodyParameters: Swagger.createSchema({ content: 'string' }),
}
});
and mounting it to the Starter, you will:
Create dynamic routes for your entity.
Secure them with a token, with eventually some logics to query the db with the decrypted payload
Create the swagger documentation you can access right after.

🏁 Quick Start
The fastest way to get started with expresso-macchiato is using the official project scaffolding:
npx create-expresso-macchiato
This command sets up a complete and ready-to-use template, optimized for working with expresso-macchiato.
Why this is the recommended way:
Preconfigured build system using TSUP.
Includes jwe-token-based authentication and pre-exposed API routes.
Built-in MinIO utility for handling image storage from Docker.
Comes with a Dockerfile and docker-compose setup out of the box.
Includes prefilled .env files and a .gitignore tailored for Node/TypeScript projects.
Included a mockup dev socket and background service
You just need to:
npm install
npm run dev
And you're good to go! 🎉 This will:
Connect to the database
Expose some demo routes
Serve auto-generated Swagger docs at /swagger-ui
🛠️ Manual Installation
Prefer starting from scratch? You can install expresso-macchiato directly into your own project:
npm install expresso-macchiato
🚀 Next Version
If you like express-o, I'm open to contributors and motivated to keep improving the project.
Planned for v1.0.0
:
v1.0.0
:✨ A clean and robust socket implementation (currently in the
develop
branch)🔐 Support for multiple authentication strategies in dynamic DB routing (currently only JWE is supported)
💡 Fresh ideas and contributions from the community!
Feel free to open an issue, fork the repo, or start a discussion — let's make express-o even better together!
Last updated