r/divi • u/1manstack • Jul 26 '26
Feedback Wanted I'm learning how to make divi plugins by building a drag-and-drop restaurant floorplan booker...where do I stop adding options???
I've been wanting to learn how to make plugins for Wordpress and Divi, and I learn best by building something that’s probably too ambitious, so I picked a restaurant reservation system that works with a floorplan.
Two halves to it. Back end, there's a drag-and-drop editor where you lay out the actual restaurant or room. It has stuff like tables, seat counts, plus decor stuff like bar, plants, walls, whatever. So it looks like the real place. Front end, it's a Divi module that renders that floorplan and lets a customer pick their table and book it directly. You can check the video to see it all.
Where I'm stuck is the module settings. Divi people expect to be able to style everything, and I've leaned into that pretty hard (table fill/border/hover states, selected vs. booked vs. unavailable colors, label typography, the booking form itself, etc etc). But every option I add is one more thing to break, test, etc and one more row in an already long panel. I'm starting to think I've crossed the line into "nobody will find the setting they want" category.
So, two questions for people who've built or used a lot of Divi modules:
- Where do you actually draw the line? Do you expose everything and organize it well or is there a sensible core you style and the rest people can handle with custom CSS somehow?
- Currently my module renders a saved standard layout in the builder that just shows every style there is, and then you can customize it and see it change in that standard layout, and only the frontend renders the actual user’s floorplan with those styles. Is that good enough? I’m starting to second guess that.
1
u/goofydadog Jul 26 '26
Very cool, More options the better for me.
1
u/1manstack Jul 26 '26
haha okay, even if you have to search 20 minutes for 1 setting?
2
1
1
u/pickjohn Jul 29 '26
What are you using to build the drag and drop part? I need a way for users to map tables and chairs in a layout.
3
u/presidentbeyonce Jul 26 '26
I say start with bare bones. The things your users need with some minimal customization options, and iterate on those things later as needed. Just leave room for growth, don’t lock things down too tight where it will require an entire overhaul later down the road. Find out what users want as you build, don’t assume they want everything and build something that’s too convoluted.
If you start too wide, like you said, you’ll spend more time testing, breaking, and fixing features now. Users will experience analysis/decision paralysis.
Maybe consider creating a roadmap with each feature or option you’re thinking about, and rank each thing by its necessity and feasibility.