🌐 Live at: https://live-chat-bde08.firebaseapp.com.
Real time - Messages are updated in real time for everybody.
Users authentication - Users need to sign in. Auth state is managed in the context of the whole app.
Concurrent accounts - Application handles any number of concurrent accounts.
Multiple categories - Each user may write different messages in each.
Messages deletion - Users may delete their own messages.
Mail any sender - Clicking on a user's name starts the action of sending him a mail through G-Mail.
Nice to have - Search categories bar, clear text button, auto scroll buttons.
Custom pages - Custom Loading, Error and NotFound pages.
Dark theme - Users may choose between light and dark theme. Choice is remembered between sessions.
Mobile ready - Fully responsive UI which works well on any device.
![]() |
![]() |
![]() |
|---|
I'm using Firebase for user's authentication, data storage(Firestore - NoSQL DB), and deployment.
Firestore provides rules for accessing the data and I've configured it as follows:
No data may be accessedby anunauthenticateduser.Categoriesareread-onlyfor allauthenticatedusers. Only the admin may configure them.Messagesmay becreatedanddeletedonly by thespecific authenticateduser who requested that(meaning, an authenticated user isnot capableto create or delete messagesin the name of others). Messages may be read by all authenticated users.

- Tailwind's
layerswereextendedsuch as to have a small color palette and some base styling. - Dark mode is handled with a combination of Tailwind and
CSS variableswithvalues setbyCSS selectors. - A
fancy scroll barwas configured forwebkitusing -webkit-scrollbar.
![]() |
![]() |
|---|







