All Projects → uadmin → Uadmin

uadmin / Uadmin

Licence: mit
The web framework for Golang

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Uadmin

Gramework
Fast and Reliable Golang Web Framework
Stars: ✭ 354 (+178.74%)
Mutual labels:  framework, web-framework
Denovel
A Deno Framework For Web Artisan - Inspired by Laravel
Stars: ✭ 128 (+0.79%)
Mutual labels:  framework, web-framework
Vapor
💧 A server-side Swift HTTP web framework.
Stars: ✭ 21,194 (+16588.19%)
Mutual labels:  framework, web-framework
Sihl
A modular functional web framework
Stars: ✭ 267 (+110.24%)
Mutual labels:  framework, web-framework
Foal
Elegant and all-inclusive Node.Js web framework based on TypeScript. 🚀.
Stars: ✭ 1,176 (+825.98%)
Mutual labels:  framework, web-framework
Shio Rs
Shio is a fast, simple, and asynchronous micro web-framework for Rust.
Stars: ✭ 276 (+117.32%)
Mutual labels:  framework, web-framework
Goyave
🍐 Elegant Golang REST API Framework
Stars: ✭ 811 (+538.58%)
Mutual labels:  framework, web-framework
Rocket
A web framework for Rust.
Stars: ✭ 15,760 (+12309.45%)
Mutual labels:  framework, web-framework
Cuba
CUBA Platform is a high level framework for enterprise applications development
Stars: ✭ 1,114 (+777.17%)
Mutual labels:  framework, web-framework
Framework
IONDV. Framework is a high level framework for enterprise web applications development.
Stars: ✭ 54 (-57.48%)
Mutual labels:  framework, web-framework
Sanic
Async Python 3.7+ web server/framework | Build fast. Run fast.
Stars: ✭ 15,660 (+12230.71%)
Mutual labels:  framework, web-framework
Valval
The fastest web framework in V language (vlang)
Stars: ✭ 103 (-18.9%)
Mutual labels:  framework, web-framework
Flamingo
Flamingo Framework and Core Library. Flamingo is a go based framework for pluggable web projects. It is used to build scalable and maintainable (web)applications.
Stars: ✭ 198 (+55.91%)
Mutual labels:  framework, web-framework
Routing Controllers
Create structured, declarative and beautifully organized class-based controllers with heavy decorators usage in Express / Koa using TypeScript and Routing Controllers Framework.
Stars: ✭ 3,557 (+2700.79%)
Mutual labels:  framework, web-framework
Amber
A Crystal web framework that makes building applications fast, simple, and enjoyable. Get started with quick prototyping, less bugs, and blazing fast performance.
Stars: ✭ 2,345 (+1746.46%)
Mutual labels:  framework, web-framework
Iris
The fastest HTTP/2 Go Web Framework. AWS Lambda, gRPC, MVC, Unique Router, Websockets, Sessions, Test suite, Dependency Injection and more. A true successor of expressjs and laravel | 谢谢 https://github.com/kataras/iris/issues/1329 |
Stars: ✭ 21,587 (+16897.64%)
Mutual labels:  framework, web-framework
Playframework
Play Framework
Stars: ✭ 12,041 (+9381.1%)
Mutual labels:  framework, web-framework
Ego
Ego is a full-stack web framework written in Go, lightweight and efficient front-end component solutions, based on gin. The front-end is compiled, does not affect the back-end.
Stars: ✭ 185 (+45.67%)
Mutual labels:  framework, web-framework
Aurelia
Aurelia 2, a standards-based, front-end framework designed for high-performing, ambitious applications.
Stars: ✭ 995 (+683.46%)
Mutual labels:  framework, web-framework
Toruk
Go web 开发脚手架
Stars: ✭ 78 (-38.58%)
Mutual labels:  framework, web-framework

uAdmin the Golang Web Framework

Easy to use, blazing fast and secure.

go report card GoDoc codecov Build Status License: MIT

Originally open source by IntegrityNet Solutions and Services

For Documentation:

join gophers.slack.com

Social Media:

Screenshots

Dashboard Menu

Dashboard  

Log

Log  

Login Form

Login Form  

Features

  • 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 which can 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

Minimum requirements

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.

Hardware

  • RAM - minimum 256MB
  • CPU - minimum 2GHz

Software

  • Go Version 1.10 or later

Installation

$ go get -u github.com/uadmin/uadmin/...

To test if your installation is fine, run the uadmin command line:

$ uadmin
Usage: uadmin COMMAND [-e email] [-d domain]
This tools allows you to publish your project online

Commands:
  publish         This publishes your project online
  prepare         Generates folders and prepares static and templates
  version         Shows the version of uAdmin

Arguments:
  -e, --email     Your email. This is required for you to be able to maintain your project.
  -d, --domain    You can choose your domain name which will customize your URL

Get full documentation online:
https://uadmin.readthedocs.io/en/latest/

Your First App

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: /home/abdullah/go/src/github.com/your_name/todo/models
[   OK   ]   Created: /home/abdullah/go/src/github.com/your_name/todo/api
[   OK   ]   Created: /home/abdullah/go/src/github.com/your_name/todo/views
[   OK   ]   Created: /home/abdullah/go/src/github.com/your_name/todo/media
[   OK   ]   Created: /home/abdullah/go/src/github.com/your_name/todo/static
[   OK   ]   Created: /home/abdullah/go/src/github.com/your_name/todo/templates

Now 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()
}

Now to run your code (Linux and Apple macOS):

$ go build; ./todo
[   OK   ]   Initializing DB: [13/13]
[   OK   ]   Initializing Languages: [185/185]
[  INFO  ]   Auto generated admin user. Username: admin, Password: admin.
[   OK   ]   Synching System Settings: [30/30]
[   OK   ]   Server Started: http://0.0.0.0:8080
         ___       __          _
  __  __/   | ____/ /___ ___  (_)___
 / / / / /| |/ __  / __  __ \/ / __ \
/ /_/ / ___ / /_/ / / / / / / / / / /
\__,_/_/  |_\__,_/_/ /_/ /_/_/_/ /_/

In Windows:

$ go build && todo.exe
[   OK   ]   Initializing DB: [13/13]
[   OK   ]   Initializing Languages: [185/185]
[  INFO  ]   Auto generated admin user. Username: admin, Password: admin.
[   OK   ]   Synching System Settings: [46/46]
[   OK   ]   Server Started: http://0.0.0.0:8080
         ___       __          _
  __  __/   | ____/ /___ ___  (_)___
 / / / / /| |/ __  / __  __ \/ / __ \
/ /_/ / ___ / /_/ / / / / / / / / / /
\__,_/_/  |_\__,_/_/ /_/ /_/_/_/ /_/

Publish your app

To take your app live, it is simple:

$ uadmin publish
Enter your email: [email protected]
Your project will be published to https://my-proj.uadmin.io
Enter the name of your sub-domain (my-proj) [auto]: my-app
Did you change the default port from 8080?
This is the port you have in uadmin.Port = 8080
Enter the port that your server runs on [8080]:
[   OK   ]   Compressing [420/420]
[   OK   ]   Your application has been uploaded
[   OK   ]   Application installed succesfully
[   OK   ]   Your Project has been published to https://my-app.uadmin.io/

Quick Reference

Overriding Save Function

func (m *Model) Save() {
	// business logic
	uadmin.Save(m)
}

Validation

func (v Validate) Validate() (ret map[string]string) {
  ret = map[string]string{}
  if v.Name != "test" {
    ret["Name"] = "Error name not found"
  }
  return
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].