The Technical Design of FluentCommunity Plugin & Some Confusions Cleared
The FluentCommunity plugin is a WordPress plugin that allows you to create a community website with WordPress. It is designed to be easy to use, flexible, super fast, and super responsive, so you can create a scalable community website that people will love.
The reason behind writing this post
For the last couple of weeks, I’ve received tons of messages from some of my friends (also customers) about someone developing a similar plugin and providing some confusing information about FluentCommunity. Here are their points:
- FluentCommunity uses custom database tables that are outside WordPress!
- It’s built on JavaScript and not WordPress-native!
- It’s a side-loaded plugin and will not work with other plugins!
- Since it’s based on JavaScript, any integration will be super expensive!
- It’s expensive!
So, I decided to write this article for everyone to clear up all the confusion and provide a clear picture of the technical design of the FluentCommunity plugin. At first, let’s know what technologies we’ve used to build FluentCommunity.
Technologies/Design System Used in FluentCommunity
- Separate, well-designed database tables for storing associated data.
- VueJS 3
- Vite (for building all the assets)
- Element-UI for building the UI components
- WordPress REST API
Now, let’s discuss each of these points in detail and understand why we chose these technologies/design systems.
Why Does FluentCommunity Use Custom Database Tables?
Any community plugin generates a lot of complex data. Most of this data is user-generated, such as posts, comments, reactions, courses, lessons, quizzes, etc.
We could use default WordPress database tables like posts, postmeta, comments, etc., to store this data, but it would make the database structure complex and slow. Heavily using postmeta would lead to complex MySQL queries that are extremely slow.
Thus, we decided to create separate tables for storing this data. This keeps the database structure clean and ensures the website is super fast.
Why Does FluentCommunity Use VueJS 3 Instead of the WordPress Interactive API?
VueJS 3 is a modern JavaScript framework that allows you to build interactive user interfaces. It’s super fast and highly responsive. Millions of developers use VueJS to build their web applications.
We believe that any library or framework should be used based on the project requirements. For a simple plugin, you can use the default WordPress API to build the user interface. However, for a complex community plugin, a modern JavaScript framework like VueJS or React is a better choice. This is the same reason why Gutenberg (the WordPress Editor) uses ReactJS.
Our goal was to make FluentCommunity super fast, highly responsive, and lightweight. As a Single Page Application (SPA), it doesn’t reload the entire page repeatedly but fetches only the required data in JSON format and updates the UI directly in the browser.
While we could use the WordPress Interactive API, it would create a significant server load to compile templates and wouldn’t be as fast or responsive as VueJS.
Based on these criteria, we chose VueJS 3 for building the FluentCommunity user interface.
Why Does FluentCommunity Use the WordPress REST API?
We believe all modern WordPress plugins should use the WordPress REST API. It’s a modern way to interact with WordPress data. WordPress itself uses REST API for many admin pages like the Site Editor and Block Editor. Based on the new roadmap, WordPress will increasingly rely on REST API.
Another advantage is that REST API allows the same endpoints to be used for building mobile apps, desktop apps, and more.
A Few More Points to Clear Confusion/Misinformation
FluentCommunity is WordPress-native, uses optimized custom tables, and ensures compatibility with plugins. Its JavaScript base supports affordable integrations, offering exceptional value for a powerful, modern community-building solution. Yet, some misconceptions need to be cleared.
Misinformation 1: FluentCommunity uses custom database tables that are outside WordPress!
Yes, FluentCommunity uses custom database tables to store associated data. However, this is not “outside WordPress.” Big plugins should use custom tables for better performance and cleaner database structures. WooCommerce spent millions of dollars and years migrating its data from postmeta to custom tables. So, using custom tables is a standard practice, not outside WordPress.
Misinformation 2: It’s built on JavaScript and is not WordPress native!
Yes, FluentCommunity uses VueJS 3 for its UI, but that doesn’t make it non-native. This modern approach ensures a fast and interactive experience, similar to why Gutenberg uses ReactJS.
Misinformation 3: It’s a side-loaded plugin and won’t work with other plugins!
No, FluentCommunity is not side-loaded, headless, or a SaaS solution storing data on the plugin author’s server. It is a purely self-hosted, open-source plugin. In version 1, we avoided loading other CSS and JS files to improve speed and prevent conflicts. In the next quarter, supporting your default theme is a top priority.
Misinformation 4: Since it’s based on JavaScript, any integration will be super expensive!
This depends on who you hire! FluentCommunity’s API is simple and well-documented. Developers can create integrations in hours, not days or weeks. Recently, Flowmattic integrated over 15+ actions and custom workflows into their automation plugin in under an hour. Check out our PHP API docs.
Misinformation 5: It’s expensive!
While some may compare it to cheaper plugins, FluentCommunity is competitively priced. Among the thousands of customers purchasing FluentCommunity already, only a handful of them complained about it being expensive.
But that information comes with a footnote. The complain is “as a WordPress plugin, it’s a little expensive.” Other than this footnote, people who are using membership plugins or SaaS solutions (or at least thought of subscribing to one, but could not because they are gonna burn a hole in their pockets) know what an absolutely unbelievable bargain FluentCommunity’s pricing is (that too with an LTD purchase!)
Footnote on the Confusions
Healthy competition is good for the market—it drives innovation and results in better products. Personally, I respect all companies building similar products. When I meet them at WordCamps or other events, I enjoy discussing ideas with them. I don’t view companies with similar products as competitors. The WordPress market is vast, with ample room for everyone.
However, spreading misinformation harms the market. It not only damages the company’s reputation but also confuses customers. Let customers choose what they want. Build a good product, and people will love it. Spread misinformation, and people won’t trust you.
Conclusion
I hope this article helps you understand the technical design of the FluentCommunity plugin and clears any confusion about it. Please feel free to add your comment if you have any queries about technical design.
Useful Links:
PS: Please avoid mentioning any person or company name in the comments. I respect all companies and don’t want to create a bad impression on anyone.
Shahjahan Jewel
Hello, this is Jewel, CEO & Head of Ideas at WPManageNinja. I am obsessed with WordPress since 2009. My aim is to be a user-centric developer first, and a serial entrepreneur second. You will find me discussing various tech issues and trying to come up with scalable solutions on different forums when I am not busy coding.
Table of Content
Subscribe To Get
WordPress Guides, Tips, and Tutorials
Leave a Reply