Admin panel for easy use of Green Barrel. This template uses actix-web.
MongoDB version 4.4
MongoDB Rust Driver version 1.2.5 is used.
For examples of Model fields, use tests.
- actix-cors - https://crates.io/crates/actix-cors
- actix-files - https://crates.io/crates/actix-files
- actix-http - https://crates.io/crates/actix-http
- actix-multipart - https://crates.io/crates/actix-multipart
- actix-rt - https://crates.io/crates/actix-rt
- actix-session - https://crates.io/crates/actix-session
- actix-web - https://crates.io/crates/actix-web
- base64 - https://crates.io/crates/base64
- chrono - https://crates.io/crates/chrono
- env_logger - https://crates.io/crates/env_logger
- futures - https://crates.io/crates/futures
- humansize - https://crates.io/crates/humansize
- green-barrel - https://crates.io/crates/mango-orm
- metamorphose - https://crates.io/crates/metamorphose
- regex - https://crates.io/crates/regex
- sanitize-filename - https://crates.io/crates/sanitize-filename
- serde_json - https://crates.io/crates/serde_json
- uuid - https://crates.io/crates/uuid
- serde - https://crates.io/crates/serde
- tera - https://crates.io/crates/tera
- mongodb - https://crates.io/crates/mongodb
- recaptcha - https://crates.io/crates/recaptcha
- ...
- Vue.js - https://vuejs.org/
- Vuetify.js - https://vuetifyjs.com/
- vue-axios - https://www.npmjs.com/package/vue-axios
- vue-password-strength-meter - https://www.npmjs.com/package/vue-password-strength-meter
- vue-recaptcha-v3 - https://www.npmjs.com/package/vue-recaptcha-v3
- password-generator - https://www.npmjs.com/package/password-generator
- fill-range - https://www.npmjs.com/package/fill-range
- slug - https://www.npmjs.com/package/slug
### Ubuntu, Linux Mint:
$ sudo apt install mongodb
## OR
### Ubuntu 20.04, Linux Mint 20.x:
$ sudo apt update
$ sudo apt install dirmngr gnupg apt-transport-https ca-certificates
$ wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
$ sudo add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse'
$ sudo apt update
$ sudo apt install mongodb-org
$ sudo systemctl enable --now mongod
# For check
$ mongod --version
$ mongo --eval 'db.runCommand({ connectionStatus: 1 })'
$ reboot
#
### Configuration file:
$ sudo nano /etc/mongod.conf
#
### Systemd:
$ sudo systemctl status mongod
$ sudo systemctl start mongod
$ sudo systemctl stop mongod
$ sudo systemctl restart mongod
$ sudo systemctl enable mongod
$ sudo systemctl disable mongod
#
### Uninstall:
$ sudo systemctl stop mongod
$ sudo systemctl disable mongod
$ sudo apt --purge remove mongodb\* # OR (for mongodb-org) - $ sudo apt --purge remove mongodb-org\**
$ sudo rm -r /var/log/mongodb
$ sudo rm -r /var/lib/mongodb
$ sudo rm -f /etc/mongod.conf
$ sudo apt-add-repository --remove 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse' # for mongodb-org
$ sudo apt update
For development, replace the demo-keys with your own -> actix-greenpanel/src/settings/general.rs
$ cargo run
Open in a web browser http://127.0.0.1:8080/admin
Dynamic Widgets - This is a simplified alternative to ForeignKey
and ManyToMan
. Dynamic widgets are used to create document-style categories.
In the database, the date and time are stored in UTC format. In the admin panel, the date and time are displayed as local.
Editor settings: mango-panel/admin-panel/src/store/modules/ckeditor.js
// Example of a field in the Model.
#[serde(default)]
#[field_attrs(
widget = "textArea",
label = "Text Editor",
maxlength = 6000,
css_classes = "ckeditor"
)]
pub text_editor: Option<String>,