jusstudy banner

jusstudy

13 devlogs
85h 58m 43s

The code for the Jus'study YSWS with a custom shop, a new and very mathematically cool voting and ranking system (Wang-Ling Bayesian), a custom review system, integration with a new anti-fraud dashboard from Hackclub HQ and tons more! Join #jus-st…

The code for the Jus’study YSWS with a custom shop, a new and very mathematically cool voting and ranking system (Wang-Ling Bayesian), a custom review system, integration with a new anti-fraud dashboard from Hackclub HQ and tons more! Join #jus-study
NOTE: The demo link is just that a DEMO. It isn’t the real actual version of jus-study as that is hosted on hq infrastructure.

This project uses AI

I used AI to make parts of the review UI and some minor other UI stuff.

Demo Repository

Loading README...

vividsystem

Shipped this project!

Unfortunately I have to ship this pre-launch of #jus-study.
The website is fully operational though and you can demo it. You can view projects, create them, add hackatime projects to them, get them review after having shipped them, spend your rewards etc. The platform integrates with all HackClub Infra and there are multiple deployment strategies.
The special thing is the voting system. It uses Wang-Ling Bayesian ranking (works a bit like OpenSkill). I am unsure how well this will work without “bad vote” detection in practice but on a mathematical level it is really cool. I would have loved to add a bit more QoL stuff but I am in exams rn soooo yeah. This is also one of the first YSWS platforms to use a new Fraud Tool developed by the Fraud Squad at HQ

vividsystem

did a lot of deployment and ci stuff. the demo site is now up and running!

Attachment
0
vividsystem

i just did a lot of docker compose and containerization stuff. the debugging was really fucked up because apparently setting up hardened images and then choosing the right ones is not as easy as i thought it would be. I also fixed a typo on the website and added the new codecrafters logo.

Attachment
0
vividsystem

Devlogs can now have image attachments. For the backend I have re-purposed (and therefore also modified) an old project of mine: spaces. It is not ideal and needs a lot of improvement, but it should be really performant and very efficient storage-wise. The debugging was a pain and in the end the hour I spent debugging spaces was due to a bug in the code of jus-study where I need to change a string from “file” to “images” to get everything to work correctly.

Attachment
0
vividsystem

I am currently getting everything ready for the launch. Did a lot of backend stuff. Integration with the new Fraud Dashboard from HQ, Grafana Loki logging integration etc.

Attachment
0
vividsystem

added a ranking system (rough UI for now). Also added automatic use of slack pfps and nicknames

Attachment
0
vividsystem

Made a voting system for Jus’STUDY. I have decided to do a voting system that is a 1v1v1v1. Every user gets 40 starts that can be allocated to projects. A single project can receive at maximum 20 stars. To weigh the votes I am using the Weng-Ling Baysian Ranking algorithm. I have also made sessions so that users can’t “reroll projects”.

Attachment
0
vividsystem

Along some other improvements I made a nicer looking landing page.

Attachment
2

Comments

nok
nok about 2 months ago

that’s really nice yay thank_you

Rishaan
Rishaan about 2 months ago

Awesome Bro!

vividsystem

made the review panel for the initial reviews after shipping
(part of the UI was AI-generated because I don’t have time to finish the site until launch otherwise unfortunately)

Attachment
0
vividsystem

Added a shop system and started on a review-panel.

(design isnt a priority rn, will improve in the future)

Attachment
Attachment
0
vividsystem

Added nicer error-handling and project categories.

Attachment
0
vividsystem

I finished a projects panel. You can now create and update your projects, link hackatime projects and see logged and just spent time

Attachment
0
vividsystem

Added a landing page and a backend for projects i.e. for time tracking with hackatime

Attachment
0
vividsystem

For this project I decided on using a new stack. This time I am using the bhvr stack. That means hono as a backend (similar to express.js) and react (never used that before except doing some tutorials). Because this is also supposed to work I then decided on using drizzle and better-auth as I have experience with both. I configured auth to work with auth.hackclub.com so that we can automatically get ysws-elegebility data.

It is also now deployable to Cloudflare Workers. For now I plan on using neon as a db service.

Attachment
0