Grex
- 29 Devlogs
- 44 Total hours
A social plattform for friendgroups. (fka. Benkralex/irrenanstalt-web)
A social plattform for friendgroups. (fka. Benkralex/irrenanstalt-web)
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.
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).
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.
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.
Now Woodpecker builds the server and client docker-image and releases it on codeberg.org docker registry! Yay!
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:
New design for the quotes. Now it’s not a boring list but cards that look a lot better.
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.
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.
Not much to say for this devlog, I only created the register form and designed it and the login form.
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.
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).
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…
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.
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…
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.
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.
I cleaned up even more:
I cleaned up the code and added an api endpoint for getting invites
server: The API now includes the creation of quotes
server: Now you also can create an account (only with invite) and admins can create invites.
I’ve added DB tables and started with auth. Login works and register is on it’s way!
I started with a new codebase, because I was not happy with Next.js. Now I want to separate the server from the client for a cleaner architecture.
IT WORKS!!!! And yea, I’rich, but in the negatives ;-). I just forgot to set a hidden value for the form.
Now you can create transactions! Or can you? It doesn’t work :-( But I can’t find the mistake, I’ll hopefully do tomorrow
I’ve added the create quote form and the backend used for it. Also if you edit your account, it now uses the new backend.
I finally did the woodpecker build 🎉🎉 I also updated the installer and the README for installation. Now you can test it easiely at home 😉
I’ve started implementing the backend from ground new, with a cleaner structure, because it was to unclean for me to do work in it. It is not finished, but everything should work at the moment with a mix of old- and new-backend.
I’ve added quotes to the plattform. You can’t create them at the moment, but they are read from the db.
I’ve tried adding woodpecker/forgejo actions for automatic docker builds. I haven’t got it working, but I applied to Codebergs Woodpecker.