utron

package module
v0.0.0-...-699b668 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 28, 2018 License: MIT Imports: 1 Imported by: 26

README

utron logo

utron

GoDoc Coverage Status Build Status Go Report Card

utron is a lightweight MVC framework in Go (Golang) for building fast, scalable and robust database-driven web applications.

Features

  • Postgres, MySQL, SQLite and Foundation database support
  • Modular (you can choose which components to use)
  • Middleware support. All alice compatible Middleware works out of the box
  • Gopher spirit (write golang, use all the golang libraries you like)
  • Lightweight. Only MVC
  • Multiple configuration files support (currently json, yaml, toml and hcl)

Overview

utron is a lightweight MVC framework. It is based on the principles of simplicity, relevance and elegance.

  • Simplicity. The design is simple, easy to understand, and doesn't introduce many layers between you and the standard library. It is a goal of the project that users should be able to understand the whole framework in a single day.

  • Relevance. utron doesn't assume anything. We focus on things that matter, this way we are able to ensure easy maintenance and keep the system well-organized, well-planned and sweet.

  • Elegance. utron uses golang best practises. We are not afraid of heights, it's just that we need a parachute in our backpack. The source code is heavily documented, any functionality should be well explained and well tested.

Motivation

After two years of playing with golang, I have looked on some of my projects and asked myself: "How golang is that?"

So, utron is my reimagining of lightweight MVC, that maintains the golang spirit, and works seamlessly with the current libraries.

Installation

utron works with Go 1.4+

 go get github.com/gernest/utron

For the Old API use

go get gopkg.in/gernest/utron.v1

Tutorials

Sample application

Contributing

Start with clicking the star button to make the author and his neighbors happy. Then fork the repository and submit a pull request for whatever change you want to be added to this project.

If you have any questions, just open an issue.

Author

Geofrey Ernest

Twitter : @gernesti

Acknowledgements

These amazing projects have made utron possible:

Licence

This project is released under the MIT licence. See LICENCE for more details.

Documentation

Overview

Package utron is a lightweight MVC framework for building fast, scalable and robust web applications

Utron is built with focus of composability. This means, you can reap all the benefit of using utron while maintaining harmony with existing libraries and frameworks.

Core feaures of utron

* Session management

* Middleware support

* Data acess( Relational database)

* Logging

* Templates (views)

* Configuration

* Static content serving

Why utron

There are many frameworks out there, you might be wondering why do we need yet another framework?. We probably don't.. Utron is just a summary of the tools, and techniques I use to develop web applications in Go.

This includes the best libraries, and the best organization of the code base. Utron has one of the very handy Controller( you will see more details in the controller section)

These are the common libraries I use

* gorilla/mux: for http routing.

* gorilla/session: for session management

* gorm: for object relationl mapping.

In all of my web application I noticed that, keeping global state brings a lot of complexities to the application, so uttron avoids this. utron applicatio is a simple struct that you can play around with in whatever way that you find suits you.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewApp

func NewApp() *app.App

NewApp creates a new bare-bone utron application. To use the MVC components, you should call the Init method before serving requests.

func NewMVC

func NewMVC(cfg ...string) (*app.App, error)

NewMVC creates a new MVC utron app. If cfg is passed, it should be a directory to look for the configuration files. The App returned is initialized.

Types

This section is empty.

Directories

Path Synopsis
Package base is the basic building cblock of utron.
Package base is the basic building cblock of utron.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL