Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/meysam81/todors
TODO app, mainly for a practical learning experience of Rust
https://github.com/meysam81/todors
cli grpc http rust todo
Last synced: about 1 month ago
JSON representation
TODO app, mainly for a practical learning experience of Rust
- Host: GitHub
- URL: https://github.com/meysam81/todors
- Owner: meysam81
- License: mit
- Created: 2023-04-15T13:13:37.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-09-02T05:38:23.000Z (3 months ago)
- Last Synced: 2024-09-30T16:21:49.321Z (about 2 months ago)
- Topics: cli, grpc, http, rust, todo
- Language: Rust
- Homepage: https://todors.fly.dev/docs/
- Size: 5.03 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 23
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Todors
TODO app, mainly for a practical learning experience of Rust
[![Deployment](https://github.com/meysam81/todors/actions/workflows/deploy-fly.yml/badge.svg)](https://todors.fly.dev/docs/)
[![Code Size](https://img.shields.io/github/languages/code-size/meysam81/todors)](https://github.com/meysam81/todors)
[![codecov](https://codecov.io/gh/meysam81/todors/branch/main/graph/badge.svg?token=LILKTIMNSJ)](https://codecov.io/gh/meysam81/todors)
[![Repo Size](https://img.shields.io/github/repo-size/meysam81/todors)](https://github.com/meysam81/todors)
[![Docs](https://img.shields.io/badge/docs-rs/todors?logo=docs.rs&label=docs.rs)](https://crates.io/crates/todors)
[![Language Count](https://img.shields.io/github/languages/count/meysam81/todors)](https://github.com/meysam81/todors)
[![Commit Intervals](https://img.shields.io/github/commit-activity/m/meysam81/todors)](https://github.com/meysam81/todors/commits)
[![Last Release](https://img.shields.io/github/release-date/meysam81/todors?label=last%20release)](https://github.com/meysam81/todors/releases)
[![GitHub Stars](https://img.shields.io/github/stars/meysam81/todors?label=GitHub%20stars)](https://github.com/meysam81/todors/stargazers)
[![GitHub Release Downloads](https://img.shields.io/github/downloads/meysam81/todors/total?label=GitHub%20Release%20Downloads)](https://github.com/meysam81/todors/releases)
[![Cargo Crate](https://img.shields.io/crates/v/todors)](https://crates.io/crates/todors)
[![Crate Download](https://img.shields.io/crates/d/todors?label=crate%20download)](https://crates.io/crates/todors)
[![Docker pulls](https://img.shields.io/docker/pulls/meysam81/todors?label=Docker%20pulls)](https://hub.docker.com/r/meysam81/todors)
[![Docker Image](https://img.shields.io/docker/image-size/meysam81/todors?label=Docker%20image)](https://hub.docker.com/r/meysam81/todors)
[![License](https://img.shields.io/github/license/meysam81/todors)](https://github.com/meysam81/todors)
[![Lines of Code](https://img.shields.io/tokei/lines/github/meysam81/todors?label=lines%20of%20code)](https://github.com/meysam81/todors)- [Todors](#todors)
- [Installation](#installation)
- [Cargo](#cargo)
- [Download binary](#download-binary)
- [Docker](#docker)
- [Usage](#usage)
- [REST API doc](#rest-api-doc)
- [Online](#online)
- [Local](#local)
- [Run HTTP server](#run-http-server)
- [Visit URL](#visit-url)
- [gRPC API doc](#grpc-api-doc)
- [Look at the proto files](#look-at-the-proto-files)
- [Run gRPC server](#run-grpc-server)
- [Help](#help)## Installation
### Cargo
```bash
cargo install todors
```### Download binary
You can also head over to the
[GitHub release page](https://github.com/meysam81/todors/releases/latest) and download the
binary for your platform.### Docker
```bash
docker pull meysam81/todors
# or
docker pull ghcr.io/meysam81/todors
```## Usage
The usage is as follows:
```bash
todors serve grpc -p 50051 -H 127.0.0.1
todors serve http -p 8000 -H 127.0.0.1
# Both port & host are optional, but ipv6 can also be used
todors serve http -H ::1todors create "My first todo"
todors list
todors update 1 --title "My first todo updated"
todors update 1 --done
todors update 1 --undone
todors delete 1todors completion bash | sudo tee /etc/bash_completion.d/todors
```### REST API doc
#### Online
#### Local
##### Run HTTP server
```bash
todors serve http
```##### Visit URL
### gRPC API doc
#### Look at the proto files
[proto directory](./proto)
#### Run gRPC server
```bash
todors serve grpc
# exposed at localhost:50051
```## Help
```bash
Usage: todors
Commands:
serve Serve either the gRPC or REST over HTTP server
create Create a new TODO with a title
delete Delete a TODO by ID
list List all TODOs
update Update a TODO by ID
completion Generate shell completion
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
-V, --version Print version
```