Utility Billing System
Hephaestus Motor Inc is a project that was created as a means to master the Rust Language. As one of the things that rust can do, web development is one of them. Through crates like Axum,tower and tokio, I was able to create a web apllication that uses rust as the backend language and (HTML5,JavaScript and CSS) as the frontend.
About Hephaestus Motor Inc:Hephaestus Motor Inc is a virtual company I imagined that supplies mainly electricity with a customer base of 5M+ customers. This digital billing system is aimed to easen up the payment process of the customers plus they have access to their payment and meter history. The system provides smart metering, billing automation.
Compute billing from usage data with defined tariffs.
Tera-powered dashboard for consumption visualization.
Fully responsive interface that works seamlessly on desktop, tablet, and mobile devices.
Clean separation between routes, services, and models.
Generate and store bills with timestamps and totals
Here's a snippet of the toml file:
[package]
name = "utility_billing_system"
version = "0.1.0"
edition = "2024"
[dependencies]
# orm
sea-orm = { version = "2.0.0-rc", features = [ "sqlx-postgres", "runtime-tokio-rustls", "macros" ] }
# async operations
tokio = { version = "1.48.0", features = ["full"] }
# env variables
dotenvy = "0.15"
# web framework
axum = {version = "0.8.6",features = ["macros","json"]}
# json handling
serde ={ version = "1.0.228",features = ["derive"]}
serde_json = "1.0.145"
# logging
tracing-subscriber = {version = "0.3.20",features = ["fmt","env-filter"]}
tracing = "0.1.41"
# middleware
tower = { version = "0.5.1", features = ["full"] }
tower-http = {version = "0.6.6",features = ["cors","trace","compression-full","auth","fs"]}
# template handling with tera
tera = "1.20.0"
once_cell = "1.21.3" # make tera global
# chrono for time
chrono = { version = "0.4.42", features = ["serde"] }
rust_decimal = "=1.39.0"