Giter Club home page Giter Club logo

devlinrocha / banter Goto Github PK

View Code? Open in Web Editor NEW
60.0 60.0 15.0 988 KB

Banter is a feature-rich Discord clone built with React, Redux Toolkit, Next.JS, TypeScript, styled-components, Tailwind CSS, and uses Firebase to communicate with the back-end.

Home Page: https://banter-kappa.vercel.app

License: MIT License

JavaScript 1.05% TypeScript 98.95%
discord discord-clone discordclone firebase next nextjs react react-18 react18 redux redux-toolkit reduxtoolkit styled-components tailwind-css tailwindcss tenor tenor-api typescript

banter's Issues

Add channel linking with `#`

  • Automatically parse messages (and message input text field) for # character and use the following text to search the server channels for a match.
  • If the text matches a channel, turn it into an <a /> tag linking to the channel and style the element.

Voice chat

Add the ability to voice chat between users

Reduce number of database reads

  • Store chat messages in state upon initial server load
  • Paginate chat messages so that only most recent load unless user scrolls to load older messages
  • Look into implementing React Query
    • Cache data such as messages, members, etc.
    • Paginate responses and display as infinite scroll

Dark mode

A dark mode option should be implemented for users to choose which look they prefer - dark mode should be the new default after being created.

Add @tag feature

Feature requested by justkoru on Banter

Using the @ symbol should allow tagging other users, and "ping" them with a notification (if settings allow)

Delete messages

Allow users with sufficient permissions to delete messages that have been sent.

Sufficient permissions includes:

  • The user that sent the message
  • Users who are the owner/creator of the server the message was sent in
    • In the future this will be expanded with additional role permissions

Mobile view

A mobile-friendly version of Banter should be supported.

Improve Text Field

  • When text overflows from field, it continues through the right side off-screen. It should instead break and add another line.
  • URLs should automatically be parsed from messages as they are being typed and styled to look like a clickable link. (Created #47)
  • Allow multiline messages
    • Preserve whitespace left in messages

Landing page after login

After logging in, the user is presented with a (mostly) blank screen. Something should be displayed to greet the user, even if it is temporary.

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.