Giter Club home page Giter Club logo

42-transcendence's Introduction

Hi there ๐Ÿ‘‹

I'm somewhat a Developer & Codam Student.

  • โš™๏ธ I use code daily with: .env, package.json, .o, .gitignore, .npm install, .git clone
  • ๐ŸŒ I'm not active
  • ๐ŸŒฑ Learning all about HTML/CSS programming languages
  • ๐Ÿ’ฌ Ping me about Copying the readme of harm-smits
  • โšก๏ธ Hobbies: Yes

Contact me:

mrjvs | Github

42-transcendence's People

Contributors

maartenramadan avatar mrjvs avatar pmerku avatar westerbarendregt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

42-transcendence's Issues

User functionality

  • username
  • stats
    • ladder level
    • tournaments
    • tournament wins
    • achievements
  • Avatar (generated by default)
  • joined guild
  • friends
  • status (online, offline, ingame)
  • match history (duels, ladders, tournaments)
  • change info on account page

Chat functionality

  • create channels public/private (optionally protected by password)
    • private are only accesible by code
  • direct channels to friends
  • blocking users, hide their messages
  • channel permission:
    • owner (add/change/remove password, ban, mute, set admins)
    • admin (ban, mute)
  • ban and mutes (on timer)
  • request match through chat
  • see profiles through ui

site admins

  • destroy chat channels
  • ban users (cannot interact with anything and thrown out of guilds/channels)
  • see all chat/channels
  • create special event tournaments
  • update permissions for a user on a channel
  • update user ranks in a guild

Tournaments

  • permanent ladder ranking (for competitive matches)
  • special event tournaments (made by admins)
  • optional rewards
  • (showcase rules of tournaments in ui)

Guild

  • Create guilds (name must be unique)
  • public or private
  • invite or not (invite = you can only get in through invite or request access)
  • guild tag (1-5 chars as user prefix)
  • points (increased by a match win)
  • ranks:
    • owner
    • officer
  • war history
  • guilds can have wars
  • invite a friend to a guild
  • ranking page, showcasing all guilds

Repo setup

client

  • Dev server
  • framework setup
  • typescript setup
  • Router setup
  • Config setup
  • dockerfile
  • react

server

  • Typescript setup
  • Config setup
  • NestJs setup
  • dockerfile

repo

  • gitignores
  • docker compose file
  • postgresql
  • nginx reverse proxy

Basic auth

Login with oauth (intra)
Saves basic information in a users table.

routes

  • GET /api/v1/auth/login -> creates new session (cookie)
  • POST /api/v1/auth/logout -> removes current session (cookie)

middleware (?)

  • isLoggedIn()

auth

  • only login through oauth (42intra)
  • optional 2fa
  • remove all user sessions on account page

guild wars

  • start and end date
  • gamble points (lose these points if lost, gain all points if won)
  • schedule war times
    • during wartime, you can queue up a match
    • if nobody answers the match request. time it out and auto win
    • only one wartime match at the same time
    • configurable max unanswered war times, if exceeding then auto end and win war
  • terms of a war
    • toggle if ladder or event tournament matches count towards war effort
    • match settings
  • if user duels against other guild user then add war points
  • highest number of war points wins
  • a guild can only be in one war at a time

matches

  • pong game
  • options before start of match (toggle powerups)
  • powerups
  • mobile support
  • responsive game screen
  • realtime using websockets
  • network considerations

Basic channels

send messages and create channels

routes

  • POST /api/v1/channels/:channel_id/messages
  • GET /api/v1/channels/:channel_id/messages
  • POST /api/v1/channels
  • DELETE /api/v1/channels/:channel_id

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.