An open API service indexing awesome lists of open source software.

https://github.com/mops1k/simplemvc

Golang simple mvc implementation with orm, routing, events
https://github.com/mops1k/simplemvc

golang mvc-application routing-controllers

Last synced: 19 days ago
JSON representation

Golang simple mvc implementation with orm, routing, events

Awesome Lists containing this project

README

          

# SimpleMVC
**SimpleMVC** - это набор инструментов организующих MVC(model-view-controller) структуру приложения для web сервисов.

_Данный проект пришется "для себя" и не претендует на широкое распространение в сообществе. Все решения сделанные в проекте стоит расценивать как процесс самообучения языку GO._

## Простая документация
#### Как добавить контроллер
Для того, чтобы создать новый контроллер, необходимо создать файл имплементирующий интерфейс `SimpleMV/app/service.Controller`.

Для этого можно нужно использовать `SimpleMVC/app/service.BaseController` чтобы не было необходимости в каждом новом контроллере писать логику интерфейса.
Идеология контроллеров в том, чтобы использовать 1 контроллер = 1 действие.
Для примера можно посмотреть как написан `SimpleMVC/app/controller.IndexController`

После создания контроллера необходимо добавить его роутинг в файл: `config/routing.yaml` (см. как это сделано для `IndexController`)

Для того чтобы наш контроллер был обработан системой и добавился в роутинг, необходимо добавить его в `config/controllers.go`

#### События
На данный момент система поддерживает следующие события:
- http.on_request
- http.on_response

#### Конфигурация
Все файлы конфигурации с расширениями `yaml`, `yml` в папке `config` подключаются автоматически
Парсинг конфигурации сделан посредством пакета `Viper`

#### Шаблонизация
Шаблонизация работает через **Jet Template Engine** (https://github.com/CloudyKit/jet)
В качестве моста используется структура `SimpleMVC/app/service.template`