🔭 I’m currently working on a app for creating invoices online.
👯 I’m looking to collaborate on challenging fullstack projects that can help other coders.
💬 Ask me about anything concerning coding, I will be delighted to help you to the best of my abilities.
I first came with The Tweet Hub project when I wanted to understand how social media platforms deal with performances issues in the particular case of displaying contents on each user feed, without actually making complicated queries in their databases.
That is when I found about the "fan-out" methodology, which consist of using top speed cache databases like Redis, coupled with pre-computing based on users last activity on the platform, to perform a kind of one table (/database) per user, thus simplifying the queries needed to get data required on each feed.
Since the best way of understanding things is by actually applying them, I came up with the fun idea of implementing a full microservice architecture, with each service using different core language than the other, and attempt an implementation of this so called fan-out.
The end result (at least what would have been displayed to an end-user in a real production application) can be found on this url https://tweet-hub.com.
Since we wanted to keep things simple, we've tried making the website as self-explanatory that it could be.
-
Users will usually start by creating a new account by providing their personal information.
-
Then they will receive a verification mail to their provided email address. Please note that we've made sure the platform will not send real mails, instead, we made an administration panel (next section) that will capture every mail that is supposed to be sent.
-
After using the verification mail, users will habitually follow their friends by searching them through the platform, and share their contents with them (be it by making tweets or by chatting in direct messages).
It can be found at this URL https://tweet-hub.com/admin/.
The administration panel is our attempt of keeping things documented, without letting it get boring for wanderers as for us.
-
This self explanatory platform explain what is actually implemented behind the scene, and what technology is actually used.
-
It also help wanderers to test the application without having to insert they real information in the platform. All the data saved in the platform is automatically purged by a nightly CRON.
-
Just like mentioned earlier, every mail supposedly sent by the application will be catch by the admin panel, and be displayed under the name of the corresponding user.