Tip: If you want to skip account creation, you may simply use the following details: [email protected], password is summer123. However, I recommend you make your own account to try it out (also I don't control this account so I'm not sure what will be on there). Also, this project is HEAVILY work-in-progress, but I still figured I'm in a good position to ship the MVP and demo!
A professional real-time live chat platform that lets businesses communicate instantly with website visitors - all through a simple embeddable widget.
Note: the homepage (dispatch.brian.icu) was a MODIFIED fork of my existing project, echoMail (hence why I've marked this project as used AI). You can find it here.
Believe it or not, this has been a project I've been wanting to work on for a few years. I'm tired by all the AI garbage in existing workflow tools, and the expensive seat pricing, so I figured why not make my own!
Features:
- (💬) Chat with website visitors in real-time. Each team can handle multiple sessions simultaneously.
- (👥) Invite multiple members to your team so everyone can respond to chats and keep conversations organized.
- (⚡) Add Dispatch to your website with a single JavaScript snippet - set up live chat instantly.
- (🖥️) Optimized web interface for desktop devices.
- (👤) Open-source under Apache 2.0 license - contribute or view it anytime.
No followers yet
Once you ship this you can't edit the description of the project, but you'll be able to add more devlogs and re-ship it as you add new features!
I've finally finished with creating the demo chat, and the websocket connections are stable now!
I've been working on this for a while and have noticed that I won't be able to finish in time before the end of the month :(
I'm currently making a few finishing touches and shipping what I have now, even though it's technically incomplete. At least it'll give you guys an idea of what I'm aiming for!
So far I've implemented account + workspace creation, viewing and deleting team members (NOT adding new ones as of now, but that's the next step), and of course the message handling which is the core of my website.
This is the longest I think I've ever spend coding in one day, it's been almost 7 hours! I'm making a demo page to test out message functionality.
Lots of changes today! I've finished with the inbox dashboard page, adding web socket handling, and included a cool online status feature.
I've added a few more options, including permanent conversation deletion (rather than moving it to closed).
I'm adding API endpoints that can handle both agents and visitors (ie. creating a new message).
Hello! I apologize for the delay in updates, school has been eating up my time. I've been working more on implementing the chat system for agents.
Wow, nearly 6 hours with no devlog! We're making great progress on the dashboard and the page system behind it! I'm trying to take my time on this part since it's the core of the app and I want to make it as intuitive as possible :)
I've added an account create flow page, implemented adding new workspaces in the API, and I'm now working on the user dashboard! Since I'm still learning Tailwind, I'm really just using this time to experiment with the classes so I can perfect this dashboard :)
I've done a few updates while at school! I've finally migrated to stored tokens for authentication (with an expiration option). Authentication tokens expire in 7 days, while password reset tokens expire within 15 minutes of non-use (otherwise they can only be used once and are permanently deleted after the request is processed).
All done with password reset implementation on the client-side as well! The next step will be migrating away from JWT and saving sessions in memory OR the database (probably a better idea).
I just finished adding implementation on the backend for password resets! However during this I noticed that JWT may not be the best method for sessions since that means we won't be able to revoke sessions (in the event of a password change, hijack, etc). Gonna work on alternative authentication.
I have finally finished with the sign in page, sign up page, and the password reset page! I'll need to add implementation for the password reset but I'll probably handle this later.
I'm currently working on the website itself! Adding the login page, reset password page, and signup pages.
I've been working on structuring all the components, and this is what I came up with:
/client -> The React app for the agent dashboard
/static -> Home page for Dispatch (what we were working on)
/ -> The Express.js server for API + WS handling (also serves the /client build)
All done with the README.md and the homepage! That took way long than I wanted it to :(
I decided to copy an existing one of my React apps and modify the CSS + Tailwind classes to get the promo page done faster. I'd like to focus my time on developing the back end systems!
I've been working on installing all the dependencies, structuring the project, and creating the Prisma database models. I'm currently debating if I should create the frontend or backend first...