@simoneldevig/json-gui
| Install | |
|---|---|
npm install @simoneldevig/json-gui@1.0.0 |
|
| Latest Version: | 1.0.0 |
| Vue: | 2 |
| License: | Mozilla Public License Version 2.0 |
| Last Updated: | May 6, 2023 |
| Links: | GitHub · npm |
Currently in beta👷♂️
Bugs may occur
Create a REST API with a GUI
- ⚡️ Create endpoints
- ♻️ Create reusable models
- ➕ Add property types (string, number, boolean, object, array)
- 🦄 Faker.js integration for quickly adding random data
- 🔌 Quicktype.io integration for converting models and endpoints to C# and TypeScript (properly more to come)
JSON GUI is a tool for making even easier mock up a full REST API for your project. It's a GUI for json-server so you don't have to write JSON or generator functions to set up your API.
Even though it's made for json-server, it can also be used as a JSON generator.
How it looks
Getting started
Install using npm
npm i @simoneldevig/json-gui
Run it with npx
npx json-gui
Run it with npm scripts
Add "json-gui": "json-gui to scripts property in package.json and do
npm run json-gui
Configuration
It's possible to configure the json-server implementation via a config file.
To configure the settings, simply create a file called json-server.config.js. All json-server CLI configurations are supported. The default config looks like this:
module.exports = {
baseDir: 'json-gui', // Directory where json-gui files are located
port: 5000, // Set port
host: 'localhost', // Set host
watch: true, // Watch for changes to db.json
routes: '', // Path to custom routes file
delay: 0, // Add delay to responses (ms)
logger: true, // Show logs in console
noCors: false, // Disable Cross-Origin Resource Sharing
readOnly: true, // Allow only GET requests (json-gui will overwrite posted data on generate)
snapshotsDir: 'json-gui/snapshots', // Set snapshots directory
foreignKeySuffix: 'Id', // Set foreign key suffix, (e.g. _id as in post_id)
id: 'id', // Set database id property (e.g. _id)
middlewares: [] // Relative paths to middleware files
};
Future stuff (up for grabs)
Contribution
See Contributing Guide.
License
Copyright © 2021 Simon Eldevig
All source code is licensed under the Mozilla Public License.
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 1.0.0 | ^2.6.11 | Mozilla Public License Version 2.0 | |
| 0.3.10 | ^2.6.11 | Mozilla Public License Version 2.0 | |
| 0.3.9 | ^2.6.11 | Mozilla Public License Version 2.0 | |
| 0.3.8 | ^2.6.11 | Mozilla Public License Version 2.0 | |
| 0.3.7 | ^2.6.11 | Mozilla Public License Version 2.0 | |
| 0.3.6 | ^2.6.11 | Mozilla Public License Version 2.0 | |
| 0.3.5 | ^2.6.11 | Mozilla Public License Version 2.0 | |
| 0.3.4 | ^2.6.11 | Mozilla Public License Version 2.0 | |
| 0.3.3 | ^2.6.11 | Mozilla Public License Version 2.0 | |
| 0.3.2 | ^2.6.11 | Mozilla Public License Version 2.0 | |
| 0.3.1 | ^2.6.11 | Mozilla Public License Version 2.0 | |
| 0.3.0 | ^2.6.11 | Mozilla Public License Version 2.0 | |
| 0.2.0 | ^2.6.11 | Mozilla Public License Version 2.0 | |
| 0.1.1 | ^2.6.11 | Mozilla Public License Version 2.0 | |
| 0.1.0 | ^2.6.11 | Mozilla Public License Version 2.0 | |
| 0.0.6 | ^2.6.11 | Mozilla Public License Version 2.0 | |
| 0.0.5 | ^2.6.11 | Mozilla Public License Version 2.0 | |
| 0.0.4 | ^2.6.11 | Mozilla Public License Version 2.0 | |
| 0.0.3 | ^2.6.11 | Mozilla Public License Version 2.0 | |
| 0.0.2 | ^2.6.11 | Mozilla Public License Version 2.0 |
Pre-releases (5)
| Version | Released | Vue | License |
|---|---|---|---|
| 1.0.0-alpha.10 | ^2.6.11 | Mozilla Public License Version 2.0 | |
| 1.0.0-alpha.8 | ^2.6.11 | Mozilla Public License Version 2.0 | |
| 1.0.0-alpha.7 | ^2.6.11 | Mozilla Public License Version 2.0 | |
| 1.0.0-alpha.6 | ^2.6.11 | MIT | |
| 1.0.0-alpha.4 | ^2.6.11 | MIT |