Giter Club home page Giter Club logo

devlinrocha / banter Goto Github PK

View Code? Open in Web Editor NEW
55.0 5.0 14.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%
react nextjs typescript styled-components tailwindcss firebase discord discord-clone discordclone next

banter's Introduction

Hey there, I'm Devlin! ๐Ÿ‘‹

๐Ÿ’ป Software engineer

๐Ÿ‘ค Music, gaming, and tech enthusiast

๐Ÿ“ San Francisco Bay Area

About Me ๐Ÿ™‹โ€โ™‚

๐Ÿ’ž I love creating things with TypeScript

๐Ÿš€ I completed The Odin Project to teach myself how to code

๐ŸŒฑ I'm learning Node.js and Express to become a full stack developer

๐Ÿ”ญ I'm going to learn more about blockchain and game development

Social Media ๐Ÿ’ฌ

banter's People

Contributors

dependabot[bot] avatar devlinrocha avatar tora-pan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

banter's Issues

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.

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

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

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.

Mobile view

A mobile-friendly version of Banter should be supported.

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)

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.

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.