GithubHelp home page GithubHelp logo

sonq's People

Contributors

activebubbles avatar r3mb0 avatar yannic-wtfoxtrot avatar yanniz0r avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

r3mb0 woobble

sonq's Issues

Add readme

  • Preview picture
  • How to get the development started
  • How to deploy this thing
  • Contribution

Answer cooldown

In order to prevent high load, spam and unfair play, we need to implement a cooldown between answers

Not found error

We need to show an error message when no game can be found with the given game id

Explain game on landing page

In order to give the user an impression of what they have to expect, a detailed game description should be on the landing page. It should allow the user to understand how the game works, what interactions are required and what the rules are

Optimize "Play Song" Page

  • Debounce Requests to spotify song search as high demand might result in exceeded rate limits
  • Show different states for pre game delay and actual listening time
  • Add immediate feedback for guess
  • (Optional) Add explanation for song search

Summary Page

After the game, a summary of the recent game should be shown. Its contents are to be defined. However, it should include the following things:

  • The final player scores of the game, sorted from first to last place
  • Some kind of button that allows the admin to start a new round. It probably makes sense to exclude previously guessed songs.
  • Before the round starts, the games admin should be allowed to adjust the games settings easily

The following things should be considered for implementation but are not necessary:

  • A list of songs that were guessed in the previous round. Additionally, it could feature an overview of the players scores for each song

Ein Muss!

"Built with heart by yanniz0r" mit "Written with ❤️ by yanniz0r" ersetzen!!!!!!!!!!!!!!!!!!!!!!!!!

Fix domains

Currently, the user gets redirected to the sonq.vercel.app domain. This is not correct, it should be sonq.de

Use Panes for Review page

Because we use a similar pane layout for the review and summary page, I built some generic pane components. The should be reused on the review page as they are only used on the summary page so far. There might be some adjustments that have to be made though.

Vorschläge from Discord

Wir könnten an sonq weiterbauen..
Feature idee

  • auto cert renew

  • empfohlene playlists mit Songs welche auch bekannt sind

  • regeln hinzufügen wenn eine playlist mehr als 50 songs hat das bei der Suche nur songs kommen welche in der playlist sind um Remixe oder Covers falsch Picks zu vermeiden.

  • Jeder Teilnehmer kann ne Playlist vorschlagen und der Zufall entsccheidend

  • kleines loginsystem um Rangliste zu führen (gastlogin ist auch ne Möglichkeit ohne das highscores) gespeichert sind...
    (halt bei ausgewählten playlists)

Some "Bugs"

  • Übersetzungsfehler auf der Hauptseite:

image

  • Spotify Redirect Error - Wenn man auf "Abbrechen" drückt kommt man auch auf die "Erstelle Spiel Seite" was ja aber nicht funktioniert :)
    image

Garbage Collection

Empty games should be removed from the memory. However, a game is currently created before a player joined. Therefore, we can't simply check if the list is empty. Rough sketch:

  1. We remove the game after the last player left
  2. We periodically run through all games, check if they have players and if not remove them. Maybe every 10 minutes? We have to check how old the game is, otherwise we might remove a newly created game

Some Bugs....

  • Die Entertaste bei der Playlist suche startet das Spiel (Man kommt zur "Spielernamen" eingabe). Es wurde aktiv aber keine Playlist ausgewählt, bzw man weiß nicht ob eine Playlist ausgewählt wurde

  • Spielt man allein, und das Ergebnis wurde richtig getippt, kommt man ja zum "Ergebnisscreen" Dort läuft die Musik weiter bis der Preview fertig ist. Ein automatisches Stoppen wenn alle das richtige Ergebnis haben wäre super.

  • Der Countdown wo zeigt wie lange man noch Zeit zum raten hat stoppt bereits bei ca. 4 Sekunden und schickt einen ins Ergebnissmenü wenn keiner es errät (Spiele aktuell allein)

Remove duplicate next round button

On the review page, two next round buttons are shown. This is not good. Please remove the one that is not within the wonderful pink sidebar! :)

Optimize Lobby Page

  • The player overview should be focused, maybe with a fancy state transition
  • The link to the current game should be visible
  • (Optional) a share button? Maybe Whatsapp?

Party mode

As a user I want to be able to play the game in a non remote environment so that I can play without being stuck in a zoom call

Fix broken audio encodings

Some songs have unsupported encodings. We either have to filter them out or allow the browser to play it.

Translate all files

All files with hardcoded text should be changed so they use the translation hook

Staging + Production Deployment

The application should be deployed to a staging and a production environment. For the deployment, the following infrastructure should be used:

  1. Vercel: Frontend Server
  2. Dokku/SRV1: Backend Server

In order to make the application accessible, a new domain has to be configured for each application.

As some parts of the application are hardecoded (eg. the backend url in the client), adjustments have to be made to the application.

Refactor socket connection

The whole socket connection stuff got a little bit bloated. Therefore we should refactor it to achieve the following:

  • Components mostly consume data from a store rather than collecting them themselves
  • The whole socket connection is typesafe
  • Logic should not be in the components anymore

Translation Guide

I think it would be good to have a guide for naming conventions for translation reference names.
Maybe as readme in the locale folder.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.