You are browsing as a guest. Sign up (or log in) to start making projects!

Benkralex

@Benkralex

Joined July 1st, 2026

  • 49Devlogs
  • 3Projects
  • 2Ships
  • 15Votes
Open comments for this post

51m 48s logged

I got hacked!! Oh no!! How bad!! ;-D

Script injections should now be GONE. (Hacker is sad now :sad-apple: )
The edit quote funtion now has an API endpoint and a UI. You can edit a quote with the edit symbol on the quote detail page, which is only displayed, if you are the creator of the post or the admin.

0
0
20
Open comments for this post

6h 5m 14s logged

  • I fixed the layout on mobile devices: The navbar, the admin page, …
  • I edited the API endpoints for quotes: Now there are 2 Endpoints for quotes: get and list
  • I also added the code for quote editing, but the API endpoint is not implemented yet
  • In the client I added a detail page for quotes, where you can see the users, who liked the quote and in the future the comments would also be displayed here
  • A new get user endpoint exists, so the quote posters and the likes can display the real username and not only the user-id
  • I fixed the logout, that was not working, because the client side navigation couldn’t load the /logout because it loads pages from /pages/… so /pages/logout was a 404. Now the logout is in the pages directory, so it works with client side navigation

The most time for this devlog was invested on the layout of users who liked a post. I just wanted the users to be displayed in collumns and rows. They should be exactly underneath each other, so the like-icon aligns perfectly. Also the names shouldn’t break, because then one row is larger then the others. It was such a pain getting that “simple” thing to work. I asked multiple AIs, after I had no idea anymore and all gave me trash. The Claude used JS and not only CSS and it finally worked!! It was such a pain but in the end I am very happy with the result.

0
0
11
Open comments for this post

2h 31m 28s logged

LIKES!!!!!! Finally!!!! Again only the db held me back. I hate databases! But it has a fun little animation if you click it and it is pretty spam proof (hope so).

0
0
16
Open comments for this post

1h 34m 40s logged

Create quotes now works!!! It was a bit of pain modifing the db. I just wanted plain timestamps in milliseconds but Exposed and SQLite don’t want that, so I setteled on just using long type.

0
0
29
Open comments for this post

1h 15m 12s logged

The Server now autmoaticly migrates the DB 🎉🎉🎉🎉🎉🎉 It was not that easy, because Exposed (DB lib for Kotlin) doesn’t automaticly apply migrations. I can generate migration scripts with it but the execution and check if it was already executed I have to do on my own. But I learned a lot in the process.

0
0
22
Open comments for this post

1h 18m 27s logged

Now Woodpecker builds the server and client docker-image and releases it on codeberg.org docker registry! Yay!

0
0
7
Open comments for this post

2h 9m 16s logged

I’ve added a form for admins to create invites so you don’t have to interact with the DB or the API manually ;-) Also the first user, that registers doesn’t need an invitation Code and automaticly is an admin. I also started creating the form to create quotes, but it has no functionality at the moment.
My next steps that are planed at the moment:

  • Add create quote form functionality
  • Put everything in docker
  • (Add QoL like display all invites & users for admins, display active sessions, …)
  • First RELEASE/SHIP
0
0
11
Open comments for this post

1h 40m 40s logged

I’ve added two new themes. Also the theme is now loaded via js, so at a later point the js could read the cookies and load a theme dynamicly.

0
0
7
Open comments for this post

55m 3s logged

I’ve now added a logout api endpoint and an option to logout via web client. The difficult part is, that I can’t access the GREX_SESSION cookie via JS, so I have to set another cookie, to know, if the user is logged in. But now it works fine. I hope, that I’m not finding as many bugs if I’m testing the login/logout/register functions.

0
0
7
Open comments for this post

3h 56m 34s logged

Not much to say for this devlog, I only created the register form and designed it and the login form.

0
0
13
Open comments for this post

1h 2m 40s logged

I improved the navbar and designed an icon as a placeholder for the moment: At a later point the icon should be changable by admins and I think, I will also improve the default icon.

0
0
23
Open comments for this post

58m 5s logged

The navigation now works…. But I’m not really happy about it. But for now I started styling a bit (also that I’m not getting flashbanged).

How I implemented the client nav at the moment

The server now returns the same index.html file for every page and js loads the page-content. This lags sometimes and is not very performant…

Style and Themes

I’ve started styling. All the colors and also some other properties are specified in a theme-css file, so later you could have your own theme as a css file with only vars or if you want to style even more, you can add custom styles for specifc components, thats the plan for theming.

0
0
8
Open comments for this post

1h 9m 19s logged

Started building the real client (at least a concept). I’m currently trying to figure client-side navigation out. I think I have to watch some tutorials…

0
0
4
Open comments for this post

1h 14m 30s logged

And today again: Fiddeling around with the wierd quirks of VCards:

  • Why can a Relation Entry have multiple types (Person XY is Father and Child or something?) and a website can only have one type? (At least in the libary I’m using)
  • Why does Google VCard-Export use extra fields (Starting with X-) instead of the one that is exactly for that usecase??

And again: I HATE VCards! I think they don’t deserve to be called a “standard”, or the platforms that use it shouldn’t call it VCards… I think this feature will take a long time. Hope it’s worth it in the end…

0
0
1
Open comments for this post

1h 40m 6s logged

I’ve started trying out the Nextcloud Sync/CardDAV Sync/VCard import/export in a seperate test env.
I HATE CardDAV and VCards!
I have a very specific structure for the contacts. So for example instead of just a string for the extended address I specified every single thing you could add there like apartmentNumber, suitNumber, roomNumber, …. But in VCards it’s very loose, so I just have a string…
Now I have to think about what I should do: Should I just drop it? Should I edit the whole app to match the vCards Standart better and loose some of the specificity (does that word even exist?)???
I don’t know yet. Have to sleep about it and maybe talk about it with my friends/family.

0
0
6
Open comments for this post

1h 12m 14s logged

I now added the contact permission request thing to the settings, as described in the dialog of my last devlog. If you tap on the card, the dialog opens again and you can allow the permissions.

0
0
8
Open comments for this post

2h 42m 32s logged

I improved the permission request system. It was not that well designed and also some humans had problems knowing what to do directly, so now I hope that the UX and UI are better. Also I redesigned the delete-confirm dialog, with the same theme, that the permission dialog has.
The main thing, that cost me much time was rewriting my components, so I can use them with the dialog and also making the dialog itself.
I think, there could be some edge cases, where the new permission request doesn’t work. If someone finds one, I would appreciate, if you report it on Codeberg as an issue or via Slack Benkralex/Mail ([email protected])

0
0
11
Open comments for this post

1h 3m 6s logged

I fixed, that if you are already logged in, it still showed the login-form. Also I added a createQuote function (not in the UI yet) and tried fixing the cookie, that don’t want to be saved because of security. I have not comittet the code, because it is at the moment just for me testing, until it can do the most part of the API and is a bit better designed.

0
0
10
Open comments for this post

1h 23m 22s logged

I started with a very simple UI (without CSS) to test if the API would work. At the moment you can only login and get all quotes.

0
0
2
Loading more…

Followers

Loading…