Commit Graph

37 Commits

Author SHA1 Message Date
Alphonse Paix
96e5dd0f35 Manage users on admin panel
Some checks failed
Rust / Test (push) Failing after 4m18s
Rust / Rustfmt (push) Successful in 22s
Rust / Clippy (push) Failing after 1m39s
Rust / Code coverage (push) Successful in 4m25s
2025-10-02 22:13:02 +02:00
Alphonse Paix
9e5d185aaf Support for comments
Some checks failed
Rust / Test (push) Successful in 5m31s
Rust / Rustfmt (push) Successful in 22s
Rust / Clippy (push) Failing after 27s
Rust / Code coverage (push) Successful in 4m28s
2025-10-02 00:50:01 +02:00
Alphonse Paix
402c560354 User profile and admin privileges 2025-10-01 01:17:59 +02:00
Alphonse Paix
3e81c27ab3 Administrator privileges to get and delete subscribers
Some checks failed
Rust / Test (push) Has been cancelled
Rust / Rustfmt (push) Has been cancelled
Rust / Clippy (push) Has been cancelled
Rust / Code coverage (push) Has been cancelled
2025-09-30 18:28:04 +02:00
Alphonse Paix
b5b00152cd Redis config
All checks were successful
Rust / Test (push) Successful in 3m44s
Rust / Rustfmt (push) Successful in 23s
Rust / Clippy (push) Successful in 1m13s
Rust / Code coverage (push) Successful in 3m47s
2025-09-30 02:24:56 +02:00
Alphonse Paix
c58dfaf647 Remove unnecessary axum_server dependency
Some checks failed
Rust / Test (push) Has been cancelled
Rust / Rustfmt (push) Has been cancelled
Rust / Clippy (push) Has been cancelled
Rust / Code coverage (push) Has been cancelled
2025-09-28 14:58:15 +02:00
Alphonse Paix
1117d49746 Update telemetry
Some checks failed
Rust / Test (push) Has been cancelled
Rust / Rustfmt (push) Has been cancelled
Rust / Clippy (push) Has been cancelled
Rust / Code coverage (push) Has been cancelled
2025-09-28 03:37:23 +02:00
Alphonse Paix
87c529ecb6 tracing output 2025-09-27 12:55:20 +02:00
Alphonse Paix
f9ae3f42a6 More tests, not found page and dashboard fixes
Some checks failed
Rust / Test (push) Has been cancelled
Rust / Rustfmt (push) Has been cancelled
Rust / Clippy (push) Has been cancelled
Rust / Code coverage (push) Has been cancelled
When post was deleted, website shows a 404 page insead of an 500 page.
Also made the dashboard empty page message more explicit.
2025-09-26 20:31:30 +02:00
Alphonse Paix
0f6b479af9 Dashboard subscribers widget
Some checks failed
Rust / Test (push) Has been cancelled
Rust / Rustfmt (push) Has been cancelled
Rust / Clippy (push) Has been cancelled
Rust / Code coverage (push) Has been cancelled
2025-09-26 01:54:48 +02:00
Alphonse Paix
b1e315921e Load more button on Posts page
Some checks failed
Rust / Test (push) Has been cancelled
Rust / Rustfmt (push) Has been cancelled
Rust / Clippy (push) Has been cancelled
Rust / Code coverage (push) Has been cancelled
2025-09-23 18:24:12 +02:00
Alphonse Paix
03ca17fdb5 favicon 2025-09-23 16:09:15 +02:00
Alphonse Paix
ab650fdd35 Removed secrets
Some checks failed
Rust / Test (push) Has been cancelled
Rust / Rustfmt (push) Has been cancelled
Rust / Clippy (push) Has been cancelled
Rust / Code coverage (push) Has been cancelled
2025-09-22 16:22:46 +02:00
Alphonse Paix
6f9d33953c Unsubscribe option available on website 2025-09-22 15:44:02 +02:00
Alphonse Paix
829f3e4e4f Basic unsubscribe endpoint 2025-09-21 17:49:31 +02:00
Alphonse Paix
d85879a004 Error handling refactor and 500 page/message templates 2025-09-20 04:06:48 +02:00
Alphonse Paix
bb27ad024d 404 page 2025-09-19 19:34:06 +02:00
Alphonse Paix
7578097754 Posts dedicated page with cards linking to specific post 2025-09-19 01:04:10 +02:00
Alphonse Paix
066c2b8252 Admin can now write posts
Posts can be displayed on the website. Subscribers are automatically
notified by email. This gives the opportunity to track explicitly how
many people followed the link provided in the emails sent without being
intrusive (no invisible image).
2025-09-18 17:22:33 +02:00
Alphonse Paix
7689628ffb Use HTML swap to display success and error messages 2025-09-17 03:40:23 +02:00
Alphonse Paix
a3533bfde7 Basic dashboard for newsletter issue and password systems 2025-09-17 01:47:03 +02:00
Alphonse Paix
626726d206 htmx and Tailwind CSS production setup 2025-09-16 20:30:34 +02:00
Alphonse Paix
8e1d68d948 Confirmation page and minor improvements to homepage and form messages
Basic redirect with flash messages for success and error messages
2025-09-16 16:47:28 +02:00
Alphonse Paix
7c8ac0361e Better datastores security
Localhost only exposed ports and stronger password for Postgres local
environment instance
2025-09-07 12:46:27 +02:00
Alphonse Paix
c727b5032c Use env vars for TLS files 2025-09-05 18:27:46 +02:00
Alphonse Paix
a7d22e6634 Support for TLS encryption 2025-09-05 18:13:35 +02:00
Alphonse Paix
767fc571b6 Register form and confirmation messages 2025-09-04 23:39:53 +02:00
Alphonse Paix
3057fdc927 Fault-tolerant delivery system 2025-09-04 02:54:49 +02:00
Alphonse Paix
d47fba5cc9 Authentication and form for newsletter publishing 2025-09-01 15:47:27 +02:00
Alphonse Paix
6f6e6ab017 Admin dashboard and sessions 2025-09-01 03:08:43 +02:00
Alphonse Paix
de1fc4a825 Flash messages using axum-messages 2025-08-30 01:39:12 +02:00
Alphonse Paix
3ae50830f4 Handler to send emails to confirmed subscribers 2025-08-27 12:14:11 +02:00
Alphonse Paix
684519f689 Error handling with thiserror and anyhow 2025-08-26 12:47:22 +02:00
Alphonse Paix
415d787260 Confirm subscription endpoint 2025-08-25 17:46:03 +02:00
Alphonse Paix
637a9e39d4 Email client, application startup logic and tests 2025-08-24 11:31:03 +02:00
Alphonse Paix
f1290d0bc5 Telemetry 2025-08-22 08:14:59 +02:00
Alphonse Paix
709bd28a8c Database connection and user registration 2025-08-21 15:38:12 +02:00