Data-driven API middleware for Node.js/Express with an admin interface for creating REST endpoints from JSON schemas.
Expressa is a data-driven API middleware for Node.js/Express that automatically generates REST endpoints from JSON schemas and provides an admin interface for managing collections and permissions. It solves the problem of rapidly building CRUD backends without being locked into a full framework, offering flexibility in storage and extensibility.
Backend developers building database-driven websites or applications who need a clear separation between frontend and backend, and want a visual admin interface for API management.
Developers choose Expressa for its simplicity in generating APIs from JSON schemas, its flexible middleware approach that integrates seamlessly with existing Express apps, and its powerful admin interface for managing data and permissions without writing boilerplate code.
API creation middleware with an admin interface
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides a Django-like admin UI for creating and managing collections, permissions, and data directly through the browser, as shown in the getting started example where navigating to /admin allows immediate setup.
Automatically generates complete REST endpoints from JSON schemas, eliminating the need to write boilerplate CRUD code for each collection, with endpoints like GET /:collection for querying.
Supports per-collection storage with MongoDB, PostgreSQL, or JSON files, allowing developers to choose the best database for each data type and even use JSON files for version control.
As Express middleware, it can be seamlessly added to existing Express applications with just a few lines of code, enabling mix-and-match with other middleware and custom endpoints.
Only handles standard JSON types like strings and numbers, requiring dates to be stored as ISO 8601 strings, which can be inconvenient for applications with complex date operations or native date handling.
Lacks native support for GraphQL, JWT token expiration, cookie authentication, and file uploads, as acknowledged in the project roadmap, necessitating additional work or plugins for these common needs.
Per-collection database storage can complicate data integrity and transactions across collections, especially when using mixed database types, making it less ideal for applications requiring strong consistency or joins.
Expressa is an open-source alternative to the following products:
Keystone.js is an open-source headless content management system (CMS) and web application framework built with Node.js and React, designed for building scalable backend APIs and admin interfaces.
Deployd is an open-source backend framework for building APIs and web applications quickly, with a built-in dashboard and real-time capabilities.