Enskilda Killer

Stack:

NextJSTypescriptSupabaseTailwindCSSClerk

Largest problems solved

- In the development of this project, three significant challenges were identified and effectively addressed. The foremost issue was the implementation of a robust mechanism for confirming kills, which presented inherent complexities due to the requirement for both the perpetrator and the target to initiate confirmation through individual button presses. This necessitated the maintenance of server-side state for all pending kills, facilitating subsequent confirmation upon receipt of the corresponding input from the involved parties.

- The second major challenge centered around the optimization of statistics, a task that demanded meticulous consideration. To enhance efficiency, dedicated PostgreSQL views were meticulously crafted, with each view tailored to serve a specific statistical graph. This approach aimed to expedite data retrieval for statistics, given the higher frequency of read operations compared to write operations associated with kill confirmations.

- The third significant hurdle pertained to the development of an extensive admin page. This complex feature entailed the synchronization and editing of every element across the entire website. A noteworthy aspect of this task was the implementation of an administrative interface that enabled the modification of every sentence on the website. Furthermore, the challenge extended to the effective presentation of individual user information, including kills, targets, and additional details, in a list format with rapid lookup and filtering capabilities. These multifaceted challenges were systematically addressed and successfully resolved during the course of the project development.

General

- In the annual autumn event at my school known as Killer, participants are assigned specific targets within the school community to eliminate. This website serves as a central hub, displaying crucial information such as each participant's assigned target, a record of their kills, including the names of the individuals they have eliminated, and the current circle to which they belong. The concept of the game involves a circular structure of kills, where participant X eliminates another person, that person, in turn, eliminates someone else (Y), and the cycle continues. The website also provides comprehensive rules and guidelines for the game. Notably, the statistics are automatically updated once a kill is confirmed by both the murderer and their target.

Admin

- The admin page can only be viewed by a select few people. From here they can se and edit each user and also manually murder people, move players, kill players. The rules and concepts can also be edited from here. If two users disagree they can issue a litigation which will appear here for admins to resolve, and a notice on teams is sent out. Via the settings they can manage the game state and general settings.

Profil

- This is the page all users visist. Here they can see their personal information (name,class,...) but most importantly who they are suppose to murder. They also have the possibility to see their previous kills and issue litigations. By pressing the buttons I died or I have murdered and their target/murderer doing the same the kill is automaticly detected and processed and their new target appears.

Statistik

- Each graph is generated by ONE SQL statment which taught me a lot about joins, order by, and group by. The statistics is the seccond most viewed page after the profile. Here you can follow the game live via a bunch of graphs. This means the page loads fast but still contains a huge amount of information. The statistics is live updated which means once the kill is processed the statistics updates automatically and your kill feels even better

- For more info and references (people who have run and managed killer through my website) contact me at the email below

Contact