# REST-ADMIN [中文文档](./README-zh.md) > An Powerful Admin Dashboard based on [Boostrap-Vue](https://github.com/bootstrap-vue/bootstrap-vue/). Demo: http://rest-admin.genyii.com/ `admin admin` Please support me on https://afdian.net/@johnny if you like it. 如果觉得有用请在爱发电上赞助我:https://afdian.net/@johnny ## Features - **Bootswatch Themes** - Powerful **Data Table** with sorting, pagination, searching, display images... - Powerful **Edit Form Builder** can display/edit any value of text, image, boolean... - Fully support for Resource-based CRUD option. - English based fully i18n support. - **Highly Configurable** site info. Such as: site name, logo, **Menu** and footer... - Production ready. It has been used in two projects in our company. ## Screenshots | - | - | | --------------------------------------------------------------------------------------- | ------------------------------------------- | | ![](./screenshots/1.png) Login Page | ![](./screenshots/home.png) Home page | | ![](./screenshots/3.png) Data Table for posts | ![](./screenshots/4.png) Data Form for post | | ![](./screenshots/tfs-qrcode.png) Wechat Group (Search Wechat `johnny77577` to join in) | ![](./screenshots/tfs-logo.png) Free Videos | ## Quick Start ```bash git clone git@github.com:wxs77577/rest-admin.git cd rest-admin code . # open with vscode [optional] npm i # or cnpm i # start with local test api server npm run test-api # start test api server npm run serve # start rest admin client ``` > The default username and password of test-api is `admin` and `admin` ### Build ```bash API_URI=http://localhost:5555/admin/api/ npm run build ``` Then just copy `/dist/admin` folder to the anywhere. > There is a built-in restful api based on `express` for test. ## Fields Definition > Used in listing tables and editing forms > Default PRIMARY_KEY field is `_id`, feel free to change it in `/src/config.json` Example: ```javascript { "_id": { "label": "ID" }, "title": { "label": "Title" }, "type": { "label": "Type", "type": "select", "options": [ { "text": "Vue", "value": "vue" }, { "text": "React", "value": "react" }, { "text": "Angular", "value": "angular" } ] }, "body": { "type": "html", "group": "Detail" }, "steps": { "type": "array", "group": "Steps", "fields": { "name": { "label": "Name" }, "date": { "label": "date" } } }, "_actions": { // define table view, it's optional. "buttons": { // define buttons as `false` to hide in actions colum "delete": false, "edit": false }, "toolbar": { // define actions in top toolbar table view "extra": [ // add extra buttons { "to": "/form?uri=vouchers/generate", "label": "Generate Vouchers" } //properties of `` ] } } } ``` ### Field properties - `label` Title for display - `cols` column width, total is 12. - `input_cols` column width of input control. - `group` title for tabs in create/edit forms - `type` Field type, accepted values and additional properties for some fields. - `select` raw html `