A project that provides an in-memory key-value store as a REST API. Also, it's containerized and can be used as a microservice.

Easy to Use In-Memory Key-Value Store

A project that provides an in-memory key-value store as a REST API. Also, it's containerized and can be used as a microservice.

Installation

Run these commands on this project's root:

docker build -t "memory" .
docker run -p 127.0.0.1:8080:8080 -d memory

There are some environment variables that this project uses, and they can be set with docker run

docker run -p 127.0.0.1:8081:8081 -d \
-e AUTO_SAVE_INTERVAL=10 \
-e PORT=8081 \
memory

Demonstration

This project is deployed to Heroku: https://thawing-fjord-72264.herokuapp.com/

API Documentation

The API documentation: https://documenter.getpostman.com/view/551409/UVJhEFaU

GODOC Documentation

To see the godoc documentation run these commands on the project's root

godoc -http=:6060 -play

And then visit this link: http://127.0.0.1:6060/pkg/github.com/brnskn/kv-memory/

Roadmap

  • Use repository and singleton design patterns.
  • Write a readme.
  • Add comment lines for go doc.
  • Add postman API doc link.
  • Write tests.
  • Add a Dockerfile.
  • Deploy to Heroku.
  • Add a LICENSE.
  • Add GitHub actions(test, lint, build).
  • Add HTTP request logs
Owner
Baran Sekin
Software Engineer
Baran Sekin
Similar Resources

its a rebuild of saycheese with golang

its a rebuild of saycheese with golang

sayBruh english |espaƱol use it at your own risk english about this Is a rebuild of saycheese with golang because the original saycheese use php and o

Sep 30, 2022

Gorsair hacks its way into remote docker containers that expose their APIs

Gorsair hacks its way into remote docker containers that expose their APIs

Gorsair Gorsair is a penetration testing tool for discovering and remotely accessing Docker APIs from vulnerable Docker containers. Once it has access

Dec 31, 2022

Phalanx is a cloud-native full-text search and indexing server written in Go built on top of Bluge that provides endpoints through gRPC and traditional RESTful API.

Phalanx Phalanx is a cloud-native full-text search and indexing server written in Go built on top of Bluge that provides endpoints through gRPC and tr

Dec 25, 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

Proc-peepin - Capture process cpu and memory and send it off to influx

proc-peepin Capture process cpu and memory and send it off to influx Running loc

Feb 13, 2022

[TOOL, CLI] - Filter and examine Go type structures, interfaces and their transitive dependencies and relationships. Export structural types as TypeScript value object or bare type representations.

typex Examine Go types and their transitive dependencies. Export results as TypeScript value objects (or types) declaration. Installation go get -u gi

Dec 6, 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

A small API to be used in Traefik Forward Auth to block attacks on services behind your favorite web router

Dynamic IPs Blacklist for Traefik This small software implements the possibility to block access to all the services behind your Traefik service. The

Sep 2, 2022
Provides a rest API that used to count how many times a certain repository of your github has been cloned.
Provides a rest API that used to count how many times a certain repository of your github has been cloned.

traffic-clones-api An apiserver for https://shields.io/endpoint. Description Provides a rest API that used to count how many times a certain repositor

Dec 19, 2021
In one particular project, i had to import some key/value data to Prometheus. So i have decided to create my custom-built Node Exporter in Golang.
In one particular project, i had to import some key/value data to Prometheus. So i have decided to create my custom-built Node Exporter in Golang.

In one particular project, i had to import some key/value data to Prometheus. So i have decided to create my custom-built Node Exporter in Golang.

May 19, 2022
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
An atomic counter that also tracks and calculates a rate written in Go.

An atomic counter that also tracks and calculates a rate written in Go.

Oct 27, 2021
Export the private key from a Swarm json key file

exportSwarmKey Currently it is a pain in the A** to export bee key in to metamask as they are not compatible. This programe will export the private ke

Oct 2, 2022
Example project for Temporal microservice orchestarion.
Example project for Temporal microservice orchestarion.

Temporal Microservice Introduction This project is created to understand Temporal's Microservice approachment. The repo contains: Example Temporal Mic

Oct 4, 2022
Contains a function to get an ip that can be used like localhost.

Get the host IP Contains a function to get an ip that can be used like localhost. Motivation If you have a rest api running in a machine executor on C

Jan 20, 2022
Packer Plugin Vagrant - The Vagrant multi-component plugin can be used with HashiCorp Packer to create custom images

Packer Plugin Vagrant - The Vagrant multi-component plugin can be used with HashiCorp Packer to create custom images

Jul 13, 2022
Visualize how a projects source code is distributed among its files and folders
Visualize how a projects source code is distributed among its files and folders

Source Code Visualizer Visualize the code distribution in a project. Applications Applications include: Visualizing code distribution for more educate

Jul 31, 2022
Every grain of sand on Earth has its own ID.

SandID Every grain of sand on Earth has its own ID. Note that the algorithm used to generate the sandid.SandID mainly come from the UUID version 1. So

Dec 18, 2022