Skip to content
/ evo Public

Evo is a powerful package for quickly writing modular web applications/services in Golang aimed both backend and frontend.

License

Notifications You must be signed in to change notification settings

getevo/evo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

13f87ff · Feb 27, 2025
May 9, 2023
Jul 14, 2020
Feb 27, 2025
Nov 30, 2023
Feb 27, 2025
May 9, 2023
Jun 10, 2020
Jul 7, 2020
Apr 20, 2023
Jun 5, 2020
Jan 7, 2025
Dec 18, 2023
Jan 6, 2025
Jul 30, 2024
Dec 22, 2024
Feb 20, 2024
Aug 16, 2024
May 19, 2024
May 19, 2024
Dec 22, 2024
Dec 22, 2024
Nov 30, 2023
May 23, 2023

Repository files navigation

EVO Framework

EVO Framework is a backend development solution designed to facilitate efficient development using the Go programming language. It is built with a focus on modularity and follows the MVC (Model-View-Controller) architectural pattern. The core of EVO Framework is highly extensible, allowing for seamless extension or replacement of its main modules.

Key Features

  • Modularity: EVO Framework promotes modularity, enabling developers to structure their codebase in a modular manner.
  • MVC Structure: Following the widely adopted MVC pattern, EVO Framework separates concerns and improves code organization.
  • Comprehensive Toolset: EVO Framework provides a rich set of tools, eliminating the need for developers to deal with low-level libraries and technologies.
  • Enhanced Readability: By leveraging the EVO Framework, your code becomes more readable and clear, enhancing collaboration and maintainability.

With EVO Framework, you can focus on your programming logic and rapidly develop robust backend solutions without getting bogged down by intricate implementation details.

Table of Contents

Getting Started

To get started with EVO Framework, follow these steps:

  1. Install EVO Framework by running the following command:
    $ go get github.com/getevo/evo/v2
  2. Create Minimum Configuration File
#config.yml
Database:
   Cache: "false"
   ConnMaxLifTime: 1h
   Database: "database"
   Debug: "3"
   Enabled: "false"
   MaxIdleConns: "10"
   MaxOpenConns: "100"
   Params: ""
   Password: "password"
   SSLMode: "false"
   Server: 127.0.0.1:3306
   SlowQueryThreshold: 500ms
   Type: mysql
   Username: root
HTTP:
   BodyLimit: 1kb
   CaseSensitive: "false"
   CompressedFileSuffix: .evo.gz
   Concurrency: "1024"
   DisableDefaultContentType: "false"
   DisableDefaultDate: "false"
   DisableHeaderNormalizing: "false"
   DisableKeepalive: "false"
   ETag: "false"
   GETOnly: "false"
   Host: 0.0.0.0
   IdleTimeout: "0"
   Immutable: "false"
   Network: ""
   Port: "8080"
   Prefork: "false"
   ProxyHeader: X-Forwarded-For
   ReadBufferSize: 8kb
   ReadTimeout: 1s
   ReduceMemoryUsage: "false"
   ServerHeader: EVO
   StrictRouting: "false"
   UnescapePath: "false"
   EnablePrintRoutes: false
   WriteBufferSize: 4kb
   WriteTimeout: 5s
  1. Initialize the EVO Framework and start building your application:
package main

import (
   "github.com/getevo/evo/v2"
)

func main() {
    // initialize evo
    evo.Setup()
	
    //your code goes here ...
    evo.Run()
}