Commit Graph

42 Commits

Author SHA1 Message Date
Alphonse Paix
d85879a004 Error handling refactor and 500 page/message templates 2025-09-20 04:06:48 +02:00
Alphonse Paix
7971095227 Refactor admin routes to use new AppError struct in responses 2025-09-20 01:08:05 +02:00
Alphonse Paix
2b9cf979e8 Askama message template 2025-09-20 00:51:46 +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
13cb477598 Refactor test suite to handle 303 See Other 2025-09-18 21:00:01 +02:00
Alphonse Paix
ebae511a12 Brought back newsletter form on admin page 2025-09-18 18:40:03 +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
848fd621b7 Fix redirect issues
Dashboard button now correctly redirects to login page if user is not
logged in while login page redirects to dashboard the other way around.
2025-09-17 23:57:45 +02:00
Alphonse Paix
a3ef312a6a Formatting 2025-09-17 14:24:45 +02:00
Alphonse Paix
bdddf0fe4a Test suite refactoring to match new htmx HTML swapping in pages 2025-09-17 14:16:27 +02:00
Alphonse Paix
7364e2a23c HX-Redirect to handle redirections with htmx 2025-09-17 13:16:56 +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
612a221907 Merge remote-tracking branch 'origin/main' into askama 2025-09-16 15:25:28 +02:00
Alphonse Paix
01b08bdc0d Remove name from subscriptions table 2025-09-16 15:24:08 +02:00
Alphonse Paix
8a977df948 Askama + htmx for frontend
Server-side rendering with htmx and Tailwind CSS for the styling
2025-09-16 01:47:18 +02:00
Alphonse Paix
bcce04756c Update config to use self-hosted email server 2025-09-14 19:29:02 +00: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
fccb79c57f Fix send email request body 2025-08-25 18:51:37 +02:00
Alphonse Paix
415d787260 Confirm subscription endpoint 2025-08-25 17:46:03 +02:00
Alphonse Paix
310a202ca3 Query metadata, migrations and formatting 2025-08-24 12:45:32 +02:00
Alphonse Paix
394799f4e0 Set status to 'confirmed' for new subscribers 2025-08-24 11:43:08 +02:00
Alphonse Paix
637a9e39d4 Email client, application startup logic and tests 2025-08-24 11:31:03 +02:00
Alphonse Paix
6a25c43ce4 Parse data from incoming request 2025-08-23 11:13:57 +02:00
Alphonse Paix
d0c146328a Fix bug when reading environment variables 2025-08-22 16:29:11 +02:00
Alphonse Paix
19ddc8958d Environment variables at runtime to connect to database 2025-08-22 16:01:20 +02:00
Alphonse Paix
80b8029844 Docker for deployment 2025-08-22 14:25:34 +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
Alphonse Paix
1fd1c4eef4 Project skeleton 2025-08-20 00:25:07 +02:00