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 year 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 (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-10-24T05:51:43.000Z (over 1 year ago)
- Last Synced: 2024-10-24T23:59:43.868Z (over 1 year ago)
- Topics: cli, grpc, http, rust, todo
- Language: Rust
- Homepage: https://todors.fly.dev/docs/
- Size: 5.51 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 34
-
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
[](https://github.com/meysam81/todors)
[](https://codecov.io/gh/meysam81/todors)
[](https://github.com/meysam81/todors)
[](https://crates.io/crates/todors)
[](https://github.com/meysam81/todors)
[](https://github.com/meysam81/todors/commits)
[](https://github.com/meysam81/todors/releases)
[](https://github.com/meysam81/todors/stargazers)
[](https://github.com/meysam81/todors/releases)
[](https://crates.io/crates/todors)
[](https://crates.io/crates/todors)
[](https://hub.docker.com/r/meysam81/todors)
[](https://hub.docker.com/r/meysam81/todors)
[](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 ::1
todors create "My first todo"
todors list
todors update 1 --title "My first todo updated"
todors update 1 --done
todors update 1 --undone
todors delete 1
todors 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
```