A lightweight, fast Customer Relationship Management system built with Rust, HTMX, and Tailwind CSS.
- Customer Management - Add, edit, view, and delete customer records
- Status Tracking - Track customers through stages: New, Contacted, Callback, Follow Up
- Notes System - Add timestamped notes to customer records
- CSV Export - Export data for reporting
- Search & Filter - Quick search across customer fields, filter by status
- Responsive UI - Clean, modern interface that works on desktop and mobile
- User Authentication - Secure login with session-based authentication
- Rust - Backend with axum web framework
- PostgreSQL - Relational database
- HTMX - Dynamic interactions without complex JavaScript
- Tailwind CSS v4 - Utility-first styling
- Askama - Server-side HTML templates
- Rust 1.75+
- PostgreSQL 12+
- Bun runtime (for asset building)
-
Copy environment file:
cp .env.example .env
-
Configure database credentials in
.env -
Create the database:
createdb fastclient
-
Build and run:
cargo run
-
Visit
http://localhost:8000
# Run with hot reload (requires cargo-watch)
cargo watch -x run
# Build assets
bun install
bun run buildfastclient-exp/
├── src/
│ ├── auth/ # Authentication middleware
│ ├── config/ # Application settings
│ ├── database/ # Connection pool + migrations
│ ├── handlers/ # Route handlers
│ ├── models/ # Data models (User, Customer, CustomerNote)
│ ├── static/ # CSS/JS assets
│ └── main.rs # Application entry point
├── templates/ # Askama HTML templates
├── migrations/ # SQL migration files
└── Cargo.toml
| Field | Description |
|---|---|
| Name | Customer/company name |
| Contact email | |
| Phone | Contact phone number |
| Website | Company website (optional) |
| City | City location |
| State | State/region |
| Industry | Business industry (optional) |
| Status | Current pipeline status |
| Variable | Description | Default |
|---|---|---|
| APP_NAME | Application name | FastClient |
| APP_ENV | Environment (development/production) | development |
| APP_DEBUG | Enable debug mode | true |
| APP_URL | Application URL | http://localhost:8000 |
| APP_ADDR | Listen address | 0.0.0.0:8000 |
| DATABASE_URL | PostgreSQL connection string | - |
| RUST_LOG | Logging level | debug |
MIT