The House App banner

The House App

23 devlogs
189h 25m 16s

The House App is a cutting-edge tool designed to enrich the educational journey for students and teachers alike. It offers insights to track house-related activities and achievements, fostering engagement within the school community.

Loading README...

OrigamiKing3612

I added the websocket for this game type. While i was making this, I accentually made the function on the frontend that reads messages from the websocket send a message to the websocket. So i made an infinite spam loop. here is the handler for the select winner message type

Attachment
0
OrigamiKing3612

I just finished design of the manage page for the the next round and next and previous buttons don’t work yet but thats because i haven’t done the backend side for that yet

Attachment
0
OrigamiKing3612

I have been working on the bracket game type. I now have round 1 working. In theory all i need now is a way to select the winner and create new rounds and it will ‘work.’ The UI is going to be the hardest part of this. Anyway this is what i have so far. The server will generate round 1 by taking all of the houses, mixing them, and pairing them together. I do want admins to be able to pick where they want the houses though but i need something working before i can do that

Attachment
0
OrigamiKing3612

So i started working on a bracket game type, because the leaderboard one doesn’t work for everything (also i just want to make a bracket on the UI). While i was testing it turns out notifications where broken. The timer would finish but they wouldn’t go away. Turns out const notifications = useNotifications(); is reactive but const { notifications, remove } = useNotifications(); isn’t… (for context, useNotifcations is a pinia store)

Attachment
0
OrigamiKing3612

Shipped this project!

I migrated the main website to Astro and added audit logs. I learned a lot about Typescript and how it does types and how packages work.

OrigamiKing3612

I finished the audit logging for The House App Server. This one had a lot more scopes then the identity server. I had to write the same thing over and over to get the user ID and session ID to put in the logs. So I also made some custom snippets for the first time

Attachment
Attachment
0
OrigamiKing3612

Im working on adding audit logs to the backends. Eventually this will come to the UI. I just finished the identity server. This is the scopes I made.

Attachment
0
OrigamiKing3612

I have been working on getting the nuxt-shared library and @origami-systems/ui to work together. The @origami-systems/ui library now holds the vue components and things i can share that are not nuxt related. Thenuxt-shared library now just provides auto-imports for a nuxt project. I was able to get the components to work pretty easily but getting the types to work was a pain. I had to create this file (picture). I have a script on the @origami-systems/uiproject to create this an I copy it to the nuxt-shared so it can provide the imports. I’m not happy with this outcome, i want it to be automatic but it works for now. I did learn a lot about how typescript does types. I also had to read the vite docs so i could configure the @origami-systems/ui library correctly.

Attachment
0
OrigamiKing3612

I just readded the notifications system. Now the notifications in the bottom right corner work again! I copied and changed this from my nuxt apps. It used to be a pinia store but now its a composable

Attachment
0
OrigamiKing3612

I just finished the rest of the migrations. Everything works now! I did test building and all of the cards didn’t look right, its because I use css to change the max-width of the card. Turns out in the dev server the css class falls through but in a production build it doesn’t. Im not really sure what file to upload so here is the file structure

Attachment
0
OrigamiKing3612

I just finished remaking the bug tracker page. All of the vue reactive stuff just worked when i moved it over! I might be able to optimize it more since this page does shift a lot because of the vue component

Attachment
0
OrigamiKing3612

I have been working on rewriting the main website in astro. Its a mostly static site and i wanted the speed that astro provided. I also am building it in Astro v6 since i wanted to see what the newest version was like and because its in public beta. There are some things i miss from nuxt but i really like how the page loads instantly now

0
OrigamiKing3612

Shipped this project!

Hours: 29.18
Cookies: 🍪 513
Multiplier: 17.57 cookies/hr

I just fixed bugs and updated stuff

OrigamiKing3612

I have been working on bug fixes. I moved the create announcements button to the bottom left corner to better match other pages. I also allowed user selecting on some things that make sense.

Attachment
0
OrigamiKing3612

Since i did the database migration and updated to v1.0.0 i no longer have a database for development. I have been working on that and making a system for backups and restoring.

Attachment
0
OrigamiKing3612

Shipped this project!

Hours: 85.84
Cookies: 🍪 2340
Multiplier: 27.26 cookies/hr

I rewrote a ton of stuff for this update. I made an identity server, a notifications server, switched to postgres and redid a lot of the schema.

OrigamiKing3612

I just shipped v1.0.0. Here is a picture of part of the changelog! During the update I found out I used notification instead of notifications for that server.

Attachment
0
OrigamiKing3612

I have done a lot of stuff. I added golangci for linting today. I haven’t ever really used a linter before. This is the config i settled on. I also fixed a ton of bugs and prepared for the update tomorrow.

Attachment
0
OrigamiKing3612

I redid my refresh token system to be a session system. Now the server controls a lot more. This is what it looks like.

Attachment
0
OrigamiKing3612

I have been working on the sudo dashboard and notifications server. I moved my global notifications over to be in the database instead of a json file. The notifications server now gives the global notifications. My sudo dashboard is now where i can add new global notifications. My v1.0.0 update goes out in Wednesday. Here is a picture of the global notifications I made for them.

Attachment
0
OrigamiKing3612

I have been doing a ton of bug fixes and clean up. The main website now is updated to the newest version of my shared library. The titlebar items now are colored the house app’s blue when you are on a page. I also fixed a bunch of bugs with the points with games. I had some logic backwards and adding points removed them locally, showed as removing points, but send the add points message in the websocket

Attachment
0
OrigamiKing3612

I have been working on fixing bugs. I did a lot of clean up on the server so that it is more update with the ways I do things now. I also redid the edit houses page. I also made the auth middleware redirect back to where you were after logging in. Admins can now enable or disable cheering

Attachment
0
OrigamiKing3612

I have been working on fixing bugs and a new cheering system for games. When an admin starts a game, there is now an option to enable cheering. This allows students to press a cheer button when viewing the game. If 10 cheers are hit for a house, confetti is shown with that house’s color. Eventually, admins will be able to award points based on how many times a house cheered. There is a 2 minute cooldown for the cheer button, but i disabled it for the video

0
OrigamiKing3612

Shipped this project!

Hours: 40.52
Cookies: 🍪 615
Multiplier: 15.18 cookies/hr

I shipped the updated version of the main website today. I learned that nuxt content doesn’t work if you have @sqlite.org/sqlite-wasm and better-sqlite3 installed at the same time.

OrigamiKing3612

I shipped the updated version of the main website today. I also figured out that nuxt content doesn’t work if you have @sqlite.org/sqlite-wasm and better-sqlite3 installed at the same time. I also worked on fixing bugs on the main app. Here is a picture of the new blog. It is 1000x better than the old one.

Attachment
0
OrigamiKing3612

Yesterday I started a new “sudo” dashboard for me to be able to add organizations and modify things like readonly. After fighting CORS for 45 minutes I can finally change the readonly status. (Vege-Table is my testing organization)

Attachment
0
OrigamiKing3612

The past few months I have been working on v1.0.0. I have redesigned the entire main website (the picture). I also split the apps backend into 3 total servers. There is an identity server for authentication, notification server for sending push notifications. I also rewrote the old backend to use a Postgres database

Attachment
0