Skip to content
On this page

What EASYCRUD Is and Is Not

What Is

EASYCRUD is aimed at providing a series of handy packages that work around JSON Table Schema to faster development of typical CRUD web applications.

WARNING

EASYCRUD is currently in Pre-alpha status. It is not ready for production, the JSON Table Schema definition and API usage may still change between minor releases.

  • 🛠️ toolkits
    A Set of Utilities for JSON Table Schema.
  • 🖥️ server
    Create RESTful or GraphQL API server based on JSON Table Schema.
  • 📱 client
    Create API client based on JSON Table Schema.
  • 👨‍💻 components
    Data Table and Form Components for User Interface based on JSON Table Schema.

Motivation

We usually want to develop CRUD web applications such as blog, internal management, etc. The typical steps are like:

  • Design the data models and APIs.
  • Write SQL statements for creating tables. (we usually choose a relational database)
  • Develop CRUD API server.
  • Develop frontend, including data list tables and create/edit forms to retrive and update data via API.

In this process, we have to write a lot of repetitive code, for example, we keep writing down the table column names, the data types across from SQL statements, frontend components, to API server. As data models are changed, we have to update the code in multiple places. When we have a new project with new data models, we have to repeat the same steps.

However, we don't want to use a full featured framework because many frameworks are too heavy and hard to customize. We'd like to stay lean and flexible to develop our own business logic, but reduce the repetitive work.

Since data models are involved heavily during the development, we want focus on designing data models, leaving the repetitive work to tools. The tools are expected to help us generate the code for SQL statements, basic CRUD APIs, client and frontend components.

Drafting

diagram

What Is Not

  • Web Framework
  • No Code/Low Code Platform

The main target of EASYCRUD is to make a set of utilities for faster development of CRUD web applications. We do concern about flexibility and extensibility, we don't want to be a heavy framework and provide out-of-the box features. The users of EASYCRUD are expected to have a basic understanding of web development and enjoy using the utilities to simplify their work.

Released under the MIT License.