facts.dev

Expressa

Content Management System for powering database driven websites using JSON schemas. Provides permission management and automatic REST APIs.

GitHub starsAwesome Lists Badge
Screenshot of Expressa website

Expressa Overview

Expressa is a content management system (CMS) that powers database-driven websites using JSON schemas. With Expressa, you can create RESTful APIs and manage permissions for your collection endpoints in a Django-like admin interface. The platform provides automatic API documentation generation through Swagger and supports browser-based and Node.js clients.

Main Features

  • Admin UI: Create blog collections and posts, manage CRUD (Create, Read, Update, Delete) permissions, and define schema-based forms for data-driven development.
  • JSON Schemas: Define your collection endpoints using JSON schema instead of custom code, making it easy to extend and reuse schema definitions in your frontend.
  • Per-Collection Storage: Store collection data in MongoDB, PostgreSQL, or JSON files (ideal for version control).
  • Automatic REST APIs: Generate RESTful APIs for your collections with minimal code required.
  • Permission Management: Manage CRUD permissions for each collection endpoint through the admin interface.

Getting Started

Installing Expressa is a breeze. Simply create a new project directory, initialize a new npm project, and install Expressa and Express: ```bash mkdir myapp cd myapp npm init npm install expressa express Create an `app.js` file with the following code (or copy the middle three lines into your existing Express app): javascript var express = require('express'); var app = express(); // ... ``` With Expressa, you can start building your database-driven website and RESTful APIs in no time.