GithubHelp home page GithubHelp logo

secret-santa's Introduction

Secret Santa ๐ŸŽ…๐Ÿผ

With gatherings getting harder to happen due to the ongoing pandemic, there should still be a way to organize Secret Santa. Now you can do it in a friendly realtime chat app!

Usage

  • Clone the repository
  • Into the root directory run npm install to download all dependencies
  • Then run npm run start to launch a local server.
  • To launch a development server which reloads on save, run npm run dev

On the landing page you can create a new room. Whoever creates it will be the admin of the room. (The admin can trigger the Secret Santa shuffle).

To add other people to the room, simply copy and paste the room URL and send it to them ๐Ÿ˜.

To stop the local server hit ctrl + c in the terminal window.

Future plans

Every contribution is more than welcome! The documentation and roadmap is under development, so until then please open an issue first to make sure that whatever you want to add is conform to the project vision.

secret-santa's People

Contributors

stefanalexlupu avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

florin-gamerina

secret-santa's Issues

Code review

Salut, am vazut pe Linkedin ca ai cerut niste indrumari in legatura cu proiectul, sper sa-ti fie de folos parerile mele ๐Ÿ˜ƒ

Ceva precizari mai generale:

  1. Cum ti-a mai sugerat cineva, MVC e alegere destul de populara. Mie personal imi place sa folosesc peste Express un framework cum e NestJS pentru ca iti impune o arhitectura mai organizata.
  2. E de preferat sa ai consitenta in raspunsurile API-ului, vad ca unele rute raspund cu HTML, altele cu JSON si nu e foarte bine separat.
  3. Cred ca e un pic over-inginereala ce zic la punctul asta, dar privind in perspectiva, ar fi util sa abstractizezi cum salvezi/interactionezi cu obiectele pentru camere si userzi. Poate in viitor o sa fie necesar sa folosesti un server de cache mai serios, nu doar variabile in memory

Ceva precizari mai specifice despre cod:

  1. As evita sa folosesc null pe cat se poate de mult, declararea sa conincida cu intializarea unui state valid daca se poate
  2. In ES2015 s-au introdus string templates in Javascript, sunt o varianta mai eleganta decat "string" + "string"
  3. Cred ca poti sa te folosesti de ID-ul socket-ului ca sa identifici un user (ar trebui sa fie unice) si asa scapi si de for-ul asta .
  4. In codul din client folosesti var si Promises in loc de const/let si async/await
  5. Aici cred ar fi bine de evitat orice display de date intre <script>. Poate e doar paranoia personala :)))

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.