No description
| src | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| mise.toml | ||
| README.md | ||
Mascarpone CRM
I always write "cream cheese" on my grocery list as "crm chs", so that's what I think of when I see "CRM".
Planned Features
- Local contacts
- Contacts stored on a remote CardDAV server
- Act as CardDAV server for other clients
- For each contact:
- Name, address as single fields (plus code? lat/long? go crazy!)
- Relationship mapping
- Birthday reminders
- Desired contact periodicity
- Last-contact-time mapping
- Additional arbitrary fields
- Journal with Obsidian-like
[[link]]syntax - Contact groups (e.g. "Met with
[[Brunch Bunch]]at the diner") - "Named in journal but has no contact entry" detection
- CalDAV server for birthday reminders
- Email birthday reminders over SMTP
Tech
axum: fast and scalable, lots of middleware from tower
axum-htmx: helpers when dealing with htmx headers
axum-login: user auth, has oauth2 and user permissions
tower-sessions: save user sessions (Redis, sqlite, memory, etc.)
fred: Redis client for user sessions
tracing: trace and instrument async logs
reqwest: for API calls, oath2
anyhow: turn any error into an AppError returning: “Internal Server Error”
maud: templating html, can split fragments into functions in a single file (LoB)
sqlx: dealing with a database, migrations, reverts