Building Course Assist Part 3: Adding chat functionality powered by MinChat.
Chat functionality is something found in almost every type of application we see today. Be it a social media platform like Instagram, a freelance platform like Fiverr or even a video chat service like Zoom or Google meet, chat functionality is something found in all of them. Chat functionality essentially enables users of the app to talk to other users for whatever particular reason they may have. Course Assist is no exception to that. From the time I started planning Course Assist, I knew chat functionality is something that was a must-have because communication between the 2 apps is essential. The only question that remained was how I was going to implement it. So from my experience, there are generally 3 methods you can use to add chat functionality to whatever it is you're building which are;
1. Building a chat system from scratch. Now, this I've started with because it's probably the most difficult of the 3 methods. Difficult because when building a chat system from scratch there are a lot of complex things you have to consider such as how and where you'll store all the messages that'll be sent, setting up real-time functionality, setting up notifications for messages, etc. Building a chat system from scratch is just as good as building a whole other project. But I don't want to make it seem like it's some extremely difficult task that can't be done. It's just that in the case of my project, I wanted to focus mostly on developing Course Assist and not getting into a whole chat app. So it just depends on what you're looking for. There are also tools such as Firebase that enable you to easily and quickly set up chat functionality from scratch.
2. Using a saas (Software as a service). There are several saas out there that for a fee will enable you to integrate complete chat functionality into your projects with whatever programming language and frameworks you're using. One saas which is a personal favourite of mine is MinChat which if you paid attention to the blog title you'll know is what I'm using in my project.
3. Using a 3rd party app. If building chat functionality from scratch or paying for a saas is too much for you an option you could try is directing users to a third-party app. For example, if a user wanted to chat with another user for whatever reason in your app they'd be directed to a third-party chat app like WhatsApp using the other user's phone number. It doesn't even have to be something like WhatsApp. Even just simple sms could work as long as it is in line with your needs.
So again if you paid attention to the title of the blog you'll know I went with option 2, originally I started with option 1 but I later realised the process was unnecessarily long, it was as good as starting up a new project. Then I thought of using option 3 but I changed my mind when a friend of mine who's a solopreneur set up MinChat which is a saas tool used to save you the time you'd spend setting up chat functionality so you can just focus on building your app. I paid for the service and easily set it up in a short amount of time. Because MinChat is a new saas it had a couple of bugs here and there so after a quick back and forth with the founder, we sorted it out and it was ready to go. There are also a couple of features I requested such as notifications and the ability to send files, all of which I've been guaranteed will be ready before I launch Course Assist. I highly recommend MinChat to anyone looking to add chat functionality to their app. With chat functionality added to Course Assist, I've gotten a step closer to completing it. The next feature I'll be working on is expert earnings, each expert should have a record of how much they've earned. Read the next article to see how that goes. Thanks for reading and see you next time.