All Projects β†’ commundev β†’ commun

commundev / commun

Licence: MIT License
🎩 Fully-featured framework for REST APIs and GraphQL from JSON Schema with TypeScript and MongoDB

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to commun

Full Stack Fastapi Couchbase
Full stack, modern web application generator. Using FastAPI, Couchbase as database, Docker, automatic HTTPS and more.
Stars: ✭ 243 (+150.52%)
Mutual labels:  backend, json-schema
Full Stack Fastapi Postgresql
Full stack, modern web application generator. Using FastAPI, PostgreSQL as database, Docker, automatic HTTPS and more.
Stars: ✭ 7,635 (+7771.13%)
Mutual labels:  backend, json-schema
schemaorg-jsd
JSON Schema validation for JSON-LD files using Schema.org vocabulary.
Stars: ✭ 16 (-83.51%)
Mutual labels:  json-schema
articlelist
🐣 Filter für Artikellisten
Stars: ✭ 20 (-79.38%)
Mutual labels:  backend
mongoose-schema-jsonschema
Mongoose extension that allows to build json schema for mongoose models, schemes and queries
Stars: ✭ 88 (-9.28%)
Mutual labels:  json-schema
flame
Ruby web-framework
Stars: ✭ 43 (-55.67%)
Mutual labels:  backend
Magento2-Admin-Module-Sample
Minimal code to create an admin/backend module in Magento2
Stars: ✭ 45 (-53.61%)
Mutual labels:  backend
yajsv
Yet Another JSON Schema Validator [CLI]
Stars: ✭ 42 (-56.7%)
Mutual labels:  json-schema
form-pa
A flexible and configurable form based on json schema
Stars: ✭ 13 (-86.6%)
Mutual labels:  json-schema
Authl
A library for managing federated identity
Stars: ✭ 20 (-79.38%)
Mutual labels:  backend
onnxruntime backend
The Triton backend for the ONNX Runtime.
Stars: ✭ 40 (-58.76%)
Mutual labels:  backend
opis-error-presenter
JSON-schema error presenter for opis/json-schema library
Stars: ✭ 17 (-82.47%)
Mutual labels:  json-schema
active model serializers validator
πŸƒ An extension to ActiveModel::Serializer that validates serializers output against a JSON schema
Stars: ✭ 18 (-81.44%)
Mutual labels:  json-schema
JSON-NLP
JSON-NLP Schema for transfer of NLP output using JSON
Stars: ✭ 38 (-60.82%)
Mutual labels:  json-schema
enterprise-applications-patterns
Collection of enterprise application patterns
Stars: ✭ 17 (-82.47%)
Mutual labels:  backend
backend
Laravel 8 backend for a genealogy website.
Stars: ✭ 82 (-15.46%)
Mutual labels:  backend
fhir-fuel.github.io
Place to prepare proposal to FHIR about JSON, JSON-Schema, Swagger/OpenAPI, JSON native databases and other JSON-frendly formats (yaml, edn, avro, protobuf etc) and technologies
Stars: ✭ 20 (-79.38%)
Mutual labels:  json-schema
json2object
Type safe Haxe/JSON (de)serializer
Stars: ✭ 54 (-44.33%)
Mutual labels:  json-schema
schema-shot
Framework-agnostic snapshot testing using "schema by example" for highly dynamic data
Stars: ✭ 34 (-64.95%)
Mutual labels:  json-schema
upper
Upper is a open source back-end framework based on the Dart language.
Stars: ✭ 39 (-59.79%)
Mutual labels:  backend

🎩 Commun

Commun is a fully-featured framework for building REST APIs and GraphQL servers from a set of JSON Schemas and configurations, which can be written by hand or using our UI dashboard.

Who said your team needs to write code for building CRUD APIs, authentication and authorization?

Documentation.

Installation

You need to install Node.js and MongoDB first, then just run:

npx create-commun-app my-app
cd my-app
npm start

Features

πŸš€ GraphQL and REST API support

  • Commun automatically prepares a GraphQL and Rest API backend which you can consume from anywhere.
  • Use your Commun backend to provide your entire frontend or use it to extend your existing application.

πŸ”‘ Secure authentication & role based permission management

  • Commun provides secure authentication and role based permission management out of the box.
  • Your users can create accounts using email and password or third party systems like Google, Facebook or GitHub.

🀩 Lifecycle Hooks

  • Hooks allow you to perform actions as responses to lifecycle events on any item.

πŸ”Ž Fast full-text search

  • Text indexes allow you to create full-text search APIs.
  • They can run on one or more attributes.
  • Not all attributes are equally important. You can optionally set weights on each one to provide better search results.

🎚 UI Dashboard

  • Manage your entire application without coding using the mobile-friendly dashboard.

πŸ“§ Emails

  • Send emails to your users in response to events.
  • Create templates with custom variables to personalize the experience of your users.
  • Welcome email, email verification and password change verification come by default.

πŸ”Œ Pluggable

  • Commun was built as a set of optional plugins that can be easily integrated.
  • Features like users, dashboard, emails and GraphQL are just plugins. All these features live in different npm packages and can be installed/uninstalled as needed.

Use Cases

Commun can be used to create any kind of application, but it can be extra helpful for creating applications in which the users can create content or any kind of contributions.

Some examples include:

  • Content sharing platforms
  • Forums or discussion boards
  • Social networks
  • Job boards
  • Property listing platforms
  • Reviews sharing platforms
  • Events listing platforms

Dashboard

Commun Dashboard

Commun comes with a complete dashboard that you can use to manage your application without having to write any code.

The dashboard also works perfectly on mobile devices, so you can manage your app on the go.

Production readiness

All the configuration used by Commun is stored in json files, which are updated by the dashboard.

The best practice is to run Commun in development, make all the required changes and then commit these changes to your repository. In order to deploy, just pull the changes in your production server and restart the node process.

The benefits of this practice are:

  • It's easier to test changes in development before moving them to production.
  • It's easier to collaborate between team members. You can submit pull requests with your changes and follow the approval process that better fits your organization.
  • It's easier to setup a continuous integration system.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].