biff

macrobartfast 2025-01-14T04:35:59.559869Z

Welcome to the Spaghetti Palace! Please don your bibs! Through no fault of Biff my app.clj gets rather, uh, large and convoluted in my hands. On top of that I use the Flowbite library that has UI components that turn into near bytecode to my eyes when converted… they can become massive. Has anyone taken a feature based organization approach? I mean, a meatball_list directory for my paginated list of meatballs with, say, views, handlers, data, routes, and util namespaces? I want to be able to port basic functionality (i.e. paginated editable lists) from one project to the next with as little work as possible. And be able to navigate my codebase more easily. As always, open to hearing about my misconceptions… and other strategies that might work.

2025-01-14T09:08:41.693129Z

I generally do a separate for for each page in the app at least, breaking it up more if needed. my current approach is that each file under com.example.app.* exposes its own Biff module, and none of those namespaces require each other. Any shared code (like a paginated editable list) goes under com.example.lib.* somewhere.

macrobartfast 2025-01-14T19:15:46.481879Z

Cool, thanks! Is this reflected in any of your public projects? I’m going to need that in the form of a TPS report, btw. (jk… I’ll go look around)

macrobartfast 2025-01-14T20:37:04.237929Z

Sweet: https://github.com/jacobobryant/yakread I haven’t been leveraging module enough.

2025-01-14T20:59:22.192619Z

yep that repo is a great one to work at! I'm using it to experiment with new approaches/stuff before incorporating it into the official biff code + docs.

⚡ 1