gosimple

module
v0.0.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 1, 2023 License: MIT

README

gosimple

Proof of Concepts and experimentation should be fun. Don’t waste time on implementation, focus on the cool things.

⚠ This project is not intended for the production use.

The goal is simplicity, even at the expense of optimization and performance. Both interfaces and implementation prioritize simplicity.

Background

It's safe to say that there are some fundamental building blocks of applications, such as storage, databases, and messaging.

This project offers interfaces and implementations for these components. You can design an app using the provided interfaces and choose the implementation that best suits your needs.

Example

Let’s say you want to learn new technology, or want to try a new idea, for example backend for a web app. You will probably want to start with local deployment. Go simple. Write your code around these interfaces and select local backend for them - store assets in the filesystem, and data in JSON files. Sure, it’s not optimal, but it’s simple.

If you want to migrate to the cloud or another environment, simply change the implementation. This will likely involve updating just one line of code.

Features

⚠ This project is currently under active development. While I do not intend to break compatibility at any point, I cannot guarantee that it will never happen in the future.

Service Supported backends Ideas/planned
Storage Local directory
AWS S3
Key-value store Local JSON file
NoSQL with primary key
Redis
NoSQL with primary key AWS DynamoDB Local JSON file

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL