Improved documentation

This commit is contained in:
Eduard Urbach 2023-07-06 14:41:36 +02:00
parent 3949809138
commit d1b773542b
Signed by: akyoto
GPG Key ID: C874F672B1AF20C0

View File

@ -4,17 +4,20 @@ In-memory key value store that saves your data to plain old JSON files.
If you like, you can operate on your entire data with classic UNIX tools. If you like, you can operate on your entire data with classic UNIX tools.
Let's say we use this struct to save our user data: ## Installation
```go ```go
go get git.akyoto.dev/go/ocean
```
## Examples
```go
// User data
type User struct { type User struct {
Name string Name string
} }
```
Then we can create a typesafe collection using Go generics:
```go
// Data saved to ~/.ocean/User/ // Data saved to ~/.ocean/User/
users := ocean.New[User]("User") users := ocean.New[User]("User")
@ -29,4 +32,10 @@ In a real project you would usually prefix your collections with a project or co
users := ocean.New[User]("google", "User") users := ocean.New[User]("google", "User")
``` ```
You can add as many hierarchies as you need but I recommend using a simple `/namespace/collection/` structure. ## Recommended structure
You can add as many directory hierarchies as you need but I recommend using a simple `/namespace/collection/` structure.
Collections should use the singular instead of the plural form (`User` instead of `Users`) because it's better for automation.
Ocean does not enforce these standards but they are heavily recommended.