2 unstable releases

0.2.0 Jun 20, 2022
0.1.0 Jun 19, 2022

#51 in #clients

MIT license

23KB
467 lines

Milston

Milston is a library for creating task managers. The idea behind it, is to provide an interface to build different clients (CLI, Web, GUI...) around it. This allows changing between different clients keeping the data and the config without the need to export and import it.

Why this library?

First of all, it aims to provide a single easy to use interface to make Project management apps. Secondly, it's an easy and simple library to learn best practices regarding Rust development. I will gladly apply Pull Requests no only related to functionality but also to code refactoring regarding idiomatic changes or design patterns.

The implementation should provide enough methods to be able to change almost anything while keeping an stable API at least for now.


lib.rs:

Standard library for projects and tasks management

Milston aims to provide the required methods to abstract any implementation for a project/task management app. Since it holds the data and config structure, different apps using this library are compatible between themselves and the data can be shared between them, without the need to export and import it between different clients.

Quick Start

To begin, create a new Milston instance.

use milston::Milston;

let milston = Milston::default();

A default Milston instance will save the data in the local storage as a JSON file.

Features

Milston providers different data sources to configure where the data should be saved.

By default, the only available source is the local filesystem. The available features are:

  • http: Allows saving data to a REST endpoint by sending GET and POST requests

To set the features, specificy them on the Cargo.toml file.

milston = { version = "0.1", features = ["http"] }

Dependencies

~2–16MB
~196K SLoC