otter: second devlog post
ci/woodpecker/push/woodpecker Pipeline was successful Details

main
Jef Roosens 2025-06-29 11:37:38 +02:00
parent e75da51a19
commit dff01df7bb
No known key found for this signature in database
GPG Key ID: 21FD3D77D56BAF49
1 changed files with 35 additions and 0 deletions

View File

@ -0,0 +1,35 @@
---
title: "Working on Web UI & Admin Features"
date: 2025-06-29
---
Last couple of weeks, I've started working on the web UI using HTMX and
PicoCSS. Development's been going pretty well, as I already had some experience
working with HTMX from a previous project.
Currently, the login page is implemented, as well as a session management page.
I'm working towards building an initial version that can be used by multiple
users, complete with admin user management features and sign-up functionality.
Specifically, I'm prioritizing the following features:
* Admin user management page
* Sign-up flow, including sign-up links for private instances
* Support for public instances (a.k.a. add a sign-up button and flow)
These together would already make Otter a pretty nice Gpodder server, usable by
multiple people. After that, I can focus on the smaller features and bug fixes
(such as trying to make the Gpodder client work at all). I've released versions
[0.2.0](https://git.rustybever.be/Chewing_Bever/otter/releases/tag/0.2.0) and
[0.2.1](https://git.rustybever.be/Chewing_Bever/otter/releases/tag/0.2.1)
containing the login view and session management page. Ideally, I'm going to
keep releasing these smaller versions, so there's a relatively constant stream
of new features to try.
While developing the sessions and user management page, I've noticed I'm
basically already implementing everything required for a RESTful API. Tables
are implemented using paginated API requests, so having these routes return
JSON instead of HTML depending on the `Content-Type` header wouldn't be a lot
of work. The Gpodder API isn't the greatest, so having this more standardized
API would be quite nice for third-party integrations.
That's about it for this devlog, have a nice day.