Giter VIP home page Giter VIP logo

ts3-channel-manager's Introduction

Hello there , I'm Benjamin

๐Ÿ“– About me

  • ๐ŸŽ“ I'm an undergraduate from HPI Hasso-Plattner-Institute
  • ๐Ÿ’ป I'm a self-employed Full-Stack-Developer
  • ๐Ÿ“ฑ I'm an App-Developer at smusy. smusy. GmbH
  • ๐ŸŒฑ I'm a Co-Founder of Memogic Memogic GmbH
  • ๐Ÿฅ‡ Funfact: I won the World Championship 2019 in Speed Programming

๐Ÿ™‹โ€โ™‚๏ธ Contact me

Telegram LinkedIn

ts3-channel-manager's People

Contributors

benjamin-frost avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

rafaeldias97

ts3-channel-manager's Issues

Backend Reconnecting Bug

Once the backend loses connection to the ts3 server once, it won't reconnect when it is back online.

Create Index Page

The Index Page should contain information on the TS3 Channel Manager a tutorial

Channel Deleter

If a channel is not being used, the channel should be deleted after some time

  • Store a timestamp in the database for ever channel: "inactiveSince"
  • Every X minutes the Bot should check wether or not a channel is used (users online)
  • If a user is online, update the inactiveSince timestamp to current time
  • If the inactiveSince timestamp is older than X days, the channel and DB Entry should be deleted
  • If the channel is close to being deleted it needs to be tagged somehow
    • For example assign a Trash Icon as Channel Icon

Improve Frontend Code

  • Currently a lot of functions are written using then/catch => Instead using async/await will look cleaner and more readable
  • The Services (auth.service & channel.service) have bad error handling. This could be improved quite a lot
  • Most Forms directly send a message to backend without validation. With local validation the server load can be reduced

Cleanup & Improve Backend Code

  • Follow DRY-Principle (currently there is some code repetition)
  • Check if all HTTP Status Codes are correct
  • Check if some async/ await functions can run in parallel (using Promises.all())
  • Fix typos in response texts

Login Pages

The Login needs to consist of two different sub-pages

  • The first one should contain a form to enter the ts uid.
    • It should also contain some information on how to find the ts uid.
  • The second page needs a form to enter the validation code sent on teamspeak
    • After successful login: Forward to main-page
    • The JWT Auth Token also needs to be stored

Handle Auth Redirects

  • If a user is not authenticated he should not be able to visit /home and be redirected to /login
  • If a user is authenticated and tries to visit /login he should automatically be redirected to /home

Community Guidelines

  • Add Code Of Conduct
  • Write Contributing Guidelines
  • Add Issue Templates
  • Add Pull Request Template

Internal Channel Creation Page

  • This page should contain a web form with all necessary input fields to create a channel.
  • After a successful creation: Forward to Internal Index Page

Internal Index Page

  • Show a list of channels created by the logged in user
    • The List should also contain edit and delete buttons

Use Docker and Docker Compose

Using Docker and Docker Compose we can ensure that this project will run smooth on every environment. In addition it should also simplify the configuration for the admins.

Calculate actual Channel Number

The actual channel number needs to be calculated

  • Channels numbers should be natural numbers (ascending)
    • Therefore: Find the first natural number that is not taken and assign it to the new channel
  • After the number is calculated we can get the previous channel and choose it as a parent

Add README

The README should...

  • give a brief introduction to this project,
  • describe the features,
  • give instructions on how to install.

Edit Channels Show Old Values

If a user edits a channel the input fields are currently blank. It would be way more user-friendly to show the old values in the fields.

Implement Edit and Delete

  • The Backend needs the functions for Edit and Delete
    • Make sure that these functions can only be called be authenticated users
    • Users can only edit and delete their own channels
  • The Frontend needs forms and functions to handle the operations

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.