about summary refs log tree commit diff
path: root/Cargo.toml
diff options
context:
space:
mode:
authorVika <vika@fireburn.ru>2021-05-04 17:05:51 +0300
committerVika <vika@fireburn.ru>2021-05-04 17:07:25 +0300
commit08c09aaa055c05228855eed8cded9fdfe4939c0f (patch)
tree792ba1d2a3b3af7a837135aa90620d8f689d7ebd /Cargo.toml
Initial commit
Working features:
 - Sending posts from the database
 - Reading posts from the database
 - Responding with MF2-JSON (only in debug mode!)
 - Not locking the database when not needed
 - All database actions are atomic (except for a small race where UIDs
   can clash, but that's not gonna happen often)

TODOs:
 - Send webmentions
 - Send syndication requests
 - Send WebSub notifications
 - Make tombstones for deleted posts (update adding dt-deleted)
 - Rich reply contexts (possibly on the frontend part?)
 - Frontend?
 - Fix UID race

Code maintenance TODOs:
 - Split the database module
 - Finish implementing the in-memory test database
 - Make RedisDatabase unit tests launch their own Redis instances (see
   redis-rs/tests/support/mod.rs for more info)
 - Write more unit-tests!!!
Diffstat (limited to 'Cargo.toml')
-rw-r--r--Cargo.toml40
1 files changed, 40 insertions, 0 deletions
diff --git a/Cargo.toml b/Cargo.toml
new file mode 100644
index 0000000..66d3526
--- /dev/null
+++ b/Cargo.toml
@@ -0,0 +1,40 @@
+[package]
+name = "kittybox_micropub"
+version = "0.1.0"
+authors = ["Vika <vika@fireburn.ru>"]
+edition = "2018"
+
+# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
+
+[dev-dependencies]
+tide-testing = "0.1.3"      # tide testing helper
+mockito = "0.30.0"          # HTTP mocking for Rust.
+serde_urlencoded = "0.7.0"
+
+[dependencies]
+# Redis driver for Rust.
+redis = { version = "0.20.0", features = ["aio", "async-std-comp", "r2d2"] }
+# A generic serialization/deserialization framework
+serde = { version = "1.0.125", features = ["derive"] }
+# Date and time library for Rust
+chrono = { version = "0.4.19", features = ["serde"] }
+# URL library for Rust, based on the WHATWG URL Standard
+url = { version = "2.2.1", features = ["serde"] }
+# Async version of the Rust standard library
+async-std = { version = "1.9.0", features = ["attributes"] }
+lazy_static = "1.4.0"       # A macro for declaring lazily evaluated statics in Rust.
+async-trait = "0.1.50"      # Type erasure for async trait methods
+env_logger = "0.8.3"        # A logging implementation for `log` which is configured via an environment variable.
+futures = "0.3.14"          # An implementation of futures and streams
+futures-util = "0.3.14"     # Common utilities and extension traits for the futures-rs library.
+http-types = "2.11.0"       # Common types for HTTP operations.
+log = "0.4.14"              # A lightweight logging facade for Rust
+serde_json = "1.0.64"       # A JSON serialization file format
+surf = "2.2.0"              # Surf the web - HTTP client framework
+tide = "0.16.0"             # A minimal and pragmatic Rust web application framework built for rapid development
+newbase60 = "0.1.3"         # A library that implements Tantek Çelik's New Base 60
+markdown = "0.3.0"          # Native Rust library for parsing Markdown and (outputting HTML)
+easy-scraper = "0.2.0"      # HTML scraping library focused on ease of use
+serde_urlencoded = "0.7.0"  # `x-www-form-urlencoded` meets Serde
+mobc-redis = "0.7.0"        # Redis support for the mobc connection pool
+mobc = "0.7.2"              # A generic connection pool with async/await support