Skip to content

CurtisNewbie/miso

Repository files navigation

miso

main branch is unstable, install miso with tags instead

Miso, yet another simple application framework. It's mainly a fun project for me to prove: 'yes, we can just write a framework ourselves.'.

Miso provides an opinionated way to write application, common functionalities such as configuration, service discovery, load balancing, log tracing, log rotation, task scheduling, message queue and so on, are all implemented in an opinionated way. You can use miso to write almost any kind of application, but it's mainly a backend framework.

The overall target is to make it as small and simple as possible, backward compatibility may break in future releases.

Include miso in your project

Install a specific release of miso:

go get github.com/curtisnewbie/miso@v0.1.1

Generate miso project

Install latest misogen tool:

go install github.com/curtisnewbie/miso/cmd/misogen@v0.1.1

Use misogen to generate new projects, e.g.,

$ misogen -h
Usage of misogen:
  -cli
        Generate CLI style project
  -disable-web
        Disable web server
  -name string
        Module name
  -static
        Generate code to embed and statically host frontend project
  -svc
        Generate code to integrate svc for automatic schema migration

$ mkdir myapp && cd myapp && misogen -name "myapp" -svc
misogen, current miso version: v0.1.1

Initialized module 'myapp'
Installing dependency: github.com/curtisnewbie/miso/miso@v0.1.1
Initializing conf.yml
Initializing internal/schema/scripts/schema.sql
Initializing internal/schema/migrate.go
Initializing main.go

Generate api endpoints

$ misoapi -h
misoapi - automatically generate web endpoint in go based on misoapi-* comments

  Supported miso version: v0.1.4-beta.1

Usage of misoapi:
  -debug
        Enable debug log

For example:

  misoapi-http: GET /open/api/doc
  misoapi-desc: open api endpoint to retrieve documents
  misoapi-query-doc: page: curent page index
  misoapi-header-doc: Authorization: bearer authorization token
  misoapi-scope: PROTECTED
  misoapi-resource: document:read

Documentations

Projects that use miso

The following are projects that use miso (mine tho):

About

Simple backend framework that can do a lot :D

Resources

License

Stars

Watchers

Forks

Packages