Easy to use, blazing fast and secure.
Originally open source by IntegrityNet Solutions and Services
For Documentation:
Social Media:
- AB Testing System
 - API Configuration
 - Approval System
 - Authentication and Permissions
 - Clean and sharp UI
 - Dashboard customization
 - Data Access API (dAPI)
 - Database schema migration
 - Error Handling
 - Export to Excel
 - Form and List customization
 - Image Cropping
 - IP address and port configuration
 - Log feature that keeps track of many things in your app
 - Metric System
 - Multilingual translation
 - MySQL Database Support
 - Offers FREE hosting for your app while you are developing by using a single command: uAdmin publish
 - Pretty good security features (SSL, 2-Factor Authentication, Password Reset, Hash Salt, Database Encryption)
 - Public access to media
 - Self-relation of foreign key/many2many
 - Sending an email from your app by establishing an email configuration
 - System settings could be used system-wide to keep application settings
 - Tag support for fields
 - Translation files preloading
 - Validation for user input
 - Webcam support on image and file fields
 
| Operating System | Architectures | Notes | 
|---|---|---|
| FreeBSD 10.3 or later | amd64, 386 | Debian GNU/kFreeBSD not supported | 
| Linux 2.6.23 or later with glibc | amd64, 386, arm, arm64, s390x, ppc64le | CentOS/RHEL 5.x not supported. Install from source for other libc. | 
| macOS 10.10 or later | amd64 | Use the clang or gcc† that comes with Xcode‡ for cgo support. | 
| Windows 7, Server 2008 R2 or later | amd64, 386 | Use MinGW gcc†. No need for cygwin or msys. | 
- † A C compiler is required only if you plan to use cgo.
 - ‡ You only need to install the command line tools for Xcode. If you have already installed Xcode 4.3+, you can install it from the Components tab of the Downloads preferences panel.
 
- RAM - minimum 256MB
 - CPU - minimum 2GHz
 
- Go Version 1.16 or later
 
go get -u github.com/uadmin/uadmin/
go install github.com/uadmin/uadmin/cmd/uadmin@latestTo test if your installation is fine, run the uadmin command line:
$ uadmin
Usage: uadmin COMMAND [--src]
This tools helps you prepare a folder for a new project or update static files and templates
Commands:
  prepare         Generates folders and prepares static and templates
  version         Shows the version of uAdmin
Arguments:
  --src           If you want to copy static files and templates from src folder
Get full documentation online:
https://uadmin-docs.readthedocs.io/en/latest/Let's build your first app which is a Todo list. First, we will create a folder for your project and prepare it.
$ mkdir -p ~/go/src/github.com/your_name/todo
$ cd ~/go/src/github.com/your_name/todo
$ uadmin prepare
[   OK   ]   Created: /Users/abdullah/go/src/github.com/twistedhardware/test/models
[   OK   ]   Created: /Users/abdullah/go/src/github.com/twistedhardware/test/api
[   OK   ]   Created: /Users/abdullah/go/src/github.com/twistedhardware/test/views
[   OK   ]   Created: /Users/abdullah/go/src/github.com/twistedhardware/test/media
[  INFO  ]   Copying static/templates from: /Users/abdullah/go/pkg/mod/github.com/uadmin/[email protected]
[   OK   ]   Created: /Users/abdullah/go/src/github.com/twistedhardware/test/static
[   OK   ]   Created: /Users/abdullah/go/src/github.com/twistedhardware/test/templatesNow use your code editor to create main.go and put this code inside it.
package main
import (
	"github.com/uadmin/uadmin"
	"time"
)
type Todo struct {
	uadmin.Model
	Name        string
	Description string `uadmin:"html"`
	TargetDate  time.Time
	Progress    int `uadmin:"progress_bar"`
}
func main() {
	uadmin.Register(Todo{})
	uadmin.StartServer()
}Prepare modules
$ go mod init
go: creating new go.mod: module github.com/twistedhardware/test
go: to add module requirements and sums:
	go mod tidy
$ go mod tidy
go: finding module for package github.com/uadmin/uadmin
go: found github.com/uadmin/uadmin in github.com/uadmin/uadmin v0.6.0Run your app (Linux, Apple macOS or Windows):
$ go build; ./todo
[   OK   ]   Initializing DB: [14/14]
[   OK   ]   Initializing Languages: [185/185]
[  INFO  ]   Auto generated admin user. Username:admin, Password:admin.
[   OK   ]   Synching System Settings: [49/49]
[   OK   ]   Server Started: http://0.0.0.0:8080
         ___       __          _
  __  __/   | ____/ /___ ___  (_)___
 / / / / /| |/ __  / __ '__ \/ / __ \
/ /_/ / ___ / /_/ / / / / / / / / / /
\__,_/_/  |_\__,_/_/ /_/ /_/_/_/ /_/In Windows:
> go build && todo.exe
[   OK   ]   Initializing DB: [14/14]
[   OK   ]   Initializing Languages: [185/185]
[  INFO  ]   Auto generated admin user. Username:admin, Password:admin.
[   OK   ]   Synching System Settings: [49/49]
[   OK   ]   Server Started: http://0.0.0.0:8080
         ___       __          _
  __  __/   | ____/ /___ ___  (_)___
 / / / / /| |/ __  / __  __ \/ / __ \
/ /_/ / ___ / /_/ / / / / / / / / / /
\__,_/_/  |_\__,_/_/ /_/ /_/_/_/ /_/func (m *Model) Save() {
	// business logic
	uadmin.Save(m)
}func (m Model) Validate() (ret map[string]string) {
  ret = map[string]string{}
  if m.Name != "test" {
    ret["Name"] = "Error name not found"
  }
  return
}

