Skip to content

A web-based database editor of specified tables and columns

License

Notifications You must be signed in to change notification settings

cinnabar-forge/snapcrud

Repository files navigation

SnapCRUD

DISCLAIMER: This project is not production ready. All versions below 1.0.0 should be considered unstable

SnapCRUD is a simple tool that lets you manage your database directly in your web browser. It's great for projects that need a quick admin panel or a way for non-technical users to manage simple data.

To get started, you only need to specify what tables and columns should be displayed and edited.

Currently, it supports MySQL only.

Installation

npm

npm install snapcrud

or

npm install -g snapcrud

Configuration

Environmental variables for credentials:

SNAPCRUD_DB_HOST=host
SNAPCRUD_DB_PORT=port
SNAPCRUD_DB_USER=user
SNAPCRUD_DB_PASSWORD=pass
SNAPCRUD_DB_NAME=database
SNAPCRUD_HOST=host
SNAPCRUD_PORT=port

JSON file for tables setup:

{
  "displayAllTables": false,
  "tables": [
    {
      "name": "table1",
      "displayAllColumns": false,
      "visibleColumns": ["id"],
      "editableColumns": ["display_name"]
    },
    {
      "name": "table2",
      "displayAllColumns": true
    }
  ]
}

Usage

As a standalone web-server:

WARNING! It doesn't include any auth workflow, your data and the web-server are directly exposed to the Internet. Make sure you've done extra measures to protect the web-server.

npx snapcrud -c /path/to/config.json

Contributing

Visit CONTRIBUTING.md.

License

Visit LICENSE.

Anca

This repository is a part of Anca standardization project. Parts of the files and code are generated by Anca.