React Auto Generate CRUD
Thank you very much to the best team I have ever had, they are:
- Hartanto Boby
- Boby Harmoko
- And me
This project is made open source to help other people who use react in developing their backend, because we think the process of making CRUD to master data is very time consuming and especially it is done many times.
To try this project, follow this instruction :
- Clone this project or download.
- Open the directory project, go to folder server ({DIR_PROJECT}/server). After that, open your terminal in server directory and then type npm install on it. After finished, you have to type this command npm run start, if server already run open your browser and go to localhost:3000, if there are some dummy api from json server so thats server can be run.
- After that open your terminal in root directory project ({DIR_PROJECT}) and then type npm install on your terminal. If finished, then type npm run start on your terminal, wait until webpack compiling success, then open your browser type localhost:9000.
- Enjoy it
This project uses several dependencies:
- "@material-ui / core": "^ 1.4.1",
- "@material-ui / icons": "^ 2.0.0",
- "axios": "^ 0.18.0",
- "classnames": "^ 2.2.6",
- "draft-js": "^ 0.10.5",
- "draftjs-to-html": "^ 0.8.4",
- "html-to-draftjs": "^ 1.4.0",
- "immutable": "^ 3.8.2",
- "lodash": "^ 4.17.10",
- "moment": "^ 2.22.2",
- "prop-types": "^ 15.6.2",
- "react-draft-wysiwyg": "^ 1.12.13",
- "react-dropzone": "^ 4.2.13",
- "react-number-format": "^ 3.5.0",
- "react-select": "^ 2.0.0",
- "react-text-mask": "^ 5.4.3",
- "validate.js": "^ 0.12.0"
- "file-saver": "^1.3.8"
- "xlsx": "^0.13.3"
And also, this project already has features including:
Click here to know, how to use this generator
Below is a documentation of this project
No | Props Name | Type | Default | Required | Description |
1 | aclId | String | * | No | aclId is used to provide each user with an access limit to the actions that can be carried out in this generator, namely, add, update, delete |
2 | aclRules | Object |
|
No | From the aclId given above, from here it can be seen that the user can only access several modules or everything |
3 | initialLimit | Number | 10 | No | Every time a table is created, the data limit displayed and requested by the server uses this number, but this number can change if the limit per page in the table view is changed |
4 | title | String | '' | Yes | Title of table |
5 | server | Object | {} | Yes | See full documentation at here |
6 | table | Object | {} | No | See full documentation here |
7 | fields | Array | [] | Yes | See full documentation here |
8 | export | Object | {} | Yes | See full documentation here |
9 | import | Object | {} | Yes | See full documentation here |
10 | loading | Object | {} | No | See full documentation here |
11 | additionalComponentInForm | Object |
{
top: () => <h1>examples</h1> (functional component)
bottom: () => <h2>examples</h2> (functional component)
} |
No | This configuration is used to add several components to the form that has been created automatically |
Click here to see the configuration