I’m building a database driven app that will combine CRM and Accounting functionality and am seeking advice on the best way to manage user subscriptions.
I’m new to coding and so am considering having the front end website built on Wordpress with WooCommerce to handle the commerce but am concerned about security so wondered if anyone has any views on this?
The app itself will be a multi tenant system with multiple organisations and multiple users within each organisation. Each user record will have a foreign key reference to their organisation which will enable me to segregate tables based on their login.
It will need to handle free trials and multiple account types - is single user, 5 user etc
If anyone has experience of such a solution and can give me any advice it would be much appreciated.
Wordpress will introduce a lot of unforeseen problems, as you’ve noted about security. Plus the relying on so many plugins, themes, and stuff to make sure the client’s end-product works is a risk. Woo-Commerce is big enough that you can rely on them staying up-to-date and stuff, but there are always those things - when using third party solutions - that you can’t account or have control for. WordPress is also just slow, and can get very clunky in terms of administration when a lot of management features are added.
Doing this in Wappler isn’t that terribly hard. I think the hardest part might be tying it to Stripe or some other processor. Though with Wappler’s API, that might be much easier than you think. (Not to mention the help you can get on this forum when you hit snags.)
If you were to do it in Wappler, I would start off by diagramming all the different types of data you need and how they relate to each other. A database designer like the one in PHPMYADMIN or in Microsoft Access would probably work fine. http://draw.io also is extremely user friendly.
Not knowing the details of your project in-depth, I’ll just throw an example:
A general overview:
And then start framing what your tables will look like:
Then create a list of what types of data you need. For instance:
Possible User Actions
- User Logs In
- User Logs Out
- User Registers or has Account Created for Them by Org Admin
- User recovers Password
- User pays rent
- User schedules late payment
- User sees invoice history
- User request maintenance job
- User sends message to landlord
- User views contract
Now, if this looks complicated - it isn’t. User pays rent and schedules payment are the same thing - just with a different date. Looking at invoice history is a simple request. Sending a message is simply an insert statement. (And a query for the landlord side.)
By doing this, you can start to see that everything is pretty much easy to do. Once you learn the fundamentals of server-side with Wappler. It is mostly basic CRUD.
But by being methodical like this - it takes the overwhelming out of everything and gives you a clear path forward. And it also makes sure that you are focusing on the KISS principle and keeping things simple. But most importantly, I think it will help give you a step-by-step guide that more-or-less tells you what you should be doing for that junction.
Good luck.
Thanks for your comments - much appreciated. I think I confused matters a bit mentioning it being a multi-tenant system. It’s actually nothing to do with property, that’s just an industry term for a single database app that serves multiple clients. The app is aimed at gigging bands and allows them to manage enquiries, quotes, contracts etc as well as managing their accounts - all within a single solution. I’ve pretty much done what you’ve suggested already, in terms of creating a database schema with MySql Workbench and a process flow diagram as well. I was leaving the payment side till last but realise I need to get the security right first of all and then build on that.
Thanks for your help.
I don’t see a problem there, as you have already seen I assume, creating logins is a pretty basic thing in Wappler and there are plenty of “how tos” and video tutorials in the forum and on the Wappler YouTube channel.
Also a series on stripe integration in the e-commerce section which is a lot easier than you may think
I agree with Chad (drymetal), relying on WordPress / WooCommerce is not a good idea and is fraught with pitfalls and security issues. It may seem like a quick fix initially but it is much too limited for a truly custom solution tailored to clients requirements precisely.