Dash is a realtime chat room app.
- Login with email + password, or OAuth with google, plus the ability to sign in as a guest.
- Send messages that are shown with the user profile picture, the users name and the date at which the message was sent
- Messages are checked for profanity using the censor-sensor npm package. It doesn't stop common profanity, but will stop messages which contain slurs or sexual terms to the best of it's ability.
- The date is formatted similarly to Discords style, with times used for the current day + yesterday, else the date is displayed in a dd/mm/yyyy format.
- Light + Dark mode
- Responsive design
- Allow users to message other users directly.
- Add a system where users can create their own chatrooms, and invite other people to it.
- Allow users to login with discord.
- Create a randomly generated chatroom every day, that has a randomised theme, and doesn't persist past that day.
- Flicker on page refresh if you are using the dark theme.
- Styling for messages on desktop has a large unneeded gap.
React, TypeScript, Styled Components, Firebase, vite.
Clone the project
git clone https://github.com/Aureatus/Dash.git
Go to the project directory
cd Dash
Install dependencies
npm install
Provide environment variables for VITE_apiKey, VITE_projectId, VITE_messagingSenderid, VITE_appId and VITE_authDomain to be used to initialize firebase app.
Start the server
vite