rustyx 0.2.0

A Rust web framework inspired by ExpressJS with ORM support for MongoDB, MySQL, SQLite, and PostgreSQL
Documentation
[package]
name = "rustyx"
version = "0.2.0"
edition = "2021"
authors = ["Mohammad Bilal <bilalmalik1561@gmail.com>"]
description = "A Rust web framework inspired by ExpressJS with ORM support for MongoDB, MySQL, SQLite, and PostgreSQL"
license = "MIT"
repository = "https://github.com/Mohammad007/rustyx"
documentation = "https://docs.rs/rustyx"
readme = "README.md"
keywords = ["web", "framework", "express", "api", "upload"]
categories = ["web-programming", "web-programming::http-server", "database"]

[lib]
name = "rustyx"
path = "src/lib.rs"

[dependencies]
# Async Runtime
tokio = { version = "1.35", features = ["full"] }

# HTTP Server
hyper = { version = "1.1", features = ["full"] }
hyper-util = { version = "0.1", features = ["full"] }
http-body-util = "0.1"

# Routing & HTTP utilities
matchit = "0.7"
mime = "0.3"
url = "2.5"

# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"

# Database Drivers (Optional Features)
sqlx = { version = "0.7", features = ["runtime-tokio", "tls-rustls"], optional = true }

# MongoDB
mongodb = { version = "2.8", optional = true }

# Async trait support
async-trait = "0.1"

# Error handling
thiserror = "1.0"
anyhow = "1.0"

# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["fmt", "env-filter"] }

# Utilities
chrono = { version = "0.4", features = ["serde"] }
uuid = { version = "1.6", features = ["v4", "serde"] }
once_cell = "1.19"
parking_lot = "0.12"
futures = "0.3"
bytes = "1.5"
pin-project-lite = "0.2"

[features]
default = ["sqlite"]
full = ["mysql", "postgres", "sqlite", "mongodb"]
mysql = ["sqlx/mysql"]
postgres = ["sqlx/postgres"]
sqlite = ["sqlx/sqlite"]
mongodb = ["dep:mongodb"]

[dev-dependencies]
tokio-test = "0.4"
reqwest = { version = "0.11", features = ["json"] }

[profile.release]
opt-level = 3
lto = true