JSON API for in-memory objects. An experimental Go-lang project.

Go MemUI

👨🏼‍💻 Work in progress

go-memu - is in-memory object storage which can generate an automated JSON API for added values.

📚 It is an experimental Open Source Go package for learning purposes.

ℹ️ Learning Materials

The whole development process is available as a step-by-step tutorial series. You can check the video course here:

⚓️ Building Go-MemUI Project

📜 How to use?

go-memui demo

How to install?

Use go get to install the latest version of the package:

go get github.com/kenanbek/go-memui

Then, import go-memui in your project:

import "github.com/KenanBek/go-memui"

Please note that when using go-memui in the source code, Go will drop the go- part and let you use only memui. See the example below.

Example:

package main

import (
	"fmt"
	"log"

	"github.com/KenanBek/go-memui"
)

...

func main() {
	fmt.Println("Hello, World!")

	d1 := Department{Name: "IT"}
	d2 := Department{Name: "HR"}

	p1 := Person{"John", 30, &d1}
	p2 := Person{"Mary", 25, &d2}

	mui := memui.New()

	err := mui.Register(&p1, &p2, &d1, &d2)
	if err != nil {
		fmt.Println(err)
	}

	log.Fatalln(mui.ServerHTTP())
}

See the testapp folder for detailed examples.

Owner
Kanan Rahimov
Software Engineer. Author @CoderVlogger. Building projects with CoderVlogger.com
Kanan Rahimov
Similar Resources

An experimental programming language.

crank-lang An experimental & interpreted programming language written in Go. Features C like syntax Written in Golang Interpreted Statically Typed Dis

Dec 6, 2021

An in-memory, key-value store HTTP API service

This is an in-memory key-value store HTTP API service, with the following endpoints: /get/{key} : GET method. Returns the value of a previously set ke

May 23, 2022

Moby Project - a collaborative project for the container ecosystem to assemble container-based systems

Moby Project - a collaborative project for the container ecosystem to assemble container-based systems

The Moby Project Moby is an open-source project created by Docker to enable and accelerate software containerization. It provides a "Lego set" of tool

Jan 2, 2023

Placeholder for the future project (lets-go-chat)Placeholder for the future project (lets-go-chat)

Placeholder for the future project (lets-go-chat)Placeholder for the future project (lets-go-chat)

Jan 10, 2022

:chart_with_upwards_trend: Monitors Go MemStats + System stats such as Memory, Swap and CPU and sends via UDP anywhere you want for logging etc...

Package stats Package stats allows for gathering of statistics regarding your Go application and system it is running on and sent them via UDP to a se

Nov 10, 2022

Helps exercise your memory by giving you random tokens and poems to memorize.

memory-enhancer Helps exercise your memory by giving you random tokens and poems to memorize. Using Every day when you first open your terminal you wi

Nov 9, 2021

A profiling tool to peek and profile the memory or cpu usage of a process

A profiling tool to peek and profile the memory or cpu usage of a process

Peekprof Get the CPU and Memory usage of a single process, monitor it live, and extract it in CSV and HTML. Get the best out of your optimizations. Us

Jan 9, 2023

Implement a toy in-memory store information service for a delivery company

Implement a toy in-memory store information service for a delivery company

Nov 22, 2021

Safira - In memory of my dog Safira

Safira - In memory of my dog Safira

In memory of my dog Safira. The tool safira replaces pattern_offset.rb and patte

Jan 11, 2022
Nodebook - Multi-Lang Web REPL + CLI Code runner
Nodebook - Multi-Lang Web REPL + CLI Code runner

nodebook Nodebook - Multi-Language REPL with Web UI + CLI code runner Useful to practice algorithms and datastructures for coding interviews. What is

Dec 29, 2022
Chief Client Go is a cross platform Krunker client written in Go Lang

Chief Client Go Chief Client Go is a client for Mac and Linux written in GoLang Features Ad Blocker Option to use proxy Installation To install this c

Nov 6, 2021
A ready to use Pastebin written in Go Lang, fork the files and start editing/using it.

A ready to use Pastebin written in Go Lang, fork the files and start editing/using it.

Dec 31, 2021
Aplicações escaláveis com Go Lang - Full Cycle

Aplicacao Go Lang - FullCycle Aplicações escaláveis com Go Lang - Full Cycle Foi desenvolvido uma aplicação para processamento de uma transação em Go

Dec 22, 2021
A template for using Mint Lang with Wails

wails-mint-template ?? UNDER CONSTRUCTION About A basic template that allows you to develop a Wails application using Mint Lang, a Crystal-powered pro

Dec 29, 2021
Experimental code execution microservice based on Docker containers.
Experimental code execution microservice based on Docker containers.

ranna ランナー - Experimental code runner microservice based on Docker containers. ⚠ PLEASE READ BEFORE USE First of all, this project is currently work i

Dec 9, 2022
Lithia is an experimental functional programming language with an implicit but strong and dynamic type system.

Lithia is an experimental functional programming language with an implicit but strong and dynamic type system. Lithia is designed around a few core concepts in mind all language features contribute to.

Dec 24, 2022
Experimental Monika After Story persistent data loader written in Go

Go Persistent Loader This project is an experiment on loading/deserializing Monika After Story persistent (save) file into memory. Currently it contai

May 10, 2022
An experimental distribution of Temporal that runs as a single process

Temporalite ⚠️ This project is experimental and not suitable for production use. ⚠️ Temporalite is a distribution of Temporal that runs as a single pr

Dec 31, 2022
An experimental vulkan 3d engine for linux (raspberry 4)

protomatter an experimental vulkan 3d engine for linux (raspberry 4).

Nov 14, 2021