Directory structure for "real" PureScript applications?

chexxor [2:49 PM]
I’d like to see what the directory structure of a “business” PS app looks like. Do they follow the directory structures used by libraries? Like “Data”, “Monad”, and “Control”?
That’s what I did, and now I’m changing to stuff like “TheWebsite”, “EmailTemplate”, “API”, “Server”, “WebPage”, “DomainType”, etc.
Is there a book written by an experienced pure FP user which describes what their Real Projects look like?

chexxor [2:53 PM]
I feel like there’s a cornucopia of those in other traditional communities. Or maybe I’m just confusing framework-prescribed organization with experience report and recommendations…

justinw [2:53 PM]
my project is lazy
i mean, most people would probably be well served to pick a top level module name to write to i guess? like ProjectName.Module

natefaubion [2:54 PM]
Yeah that’s all we do

justinw [2:54 PM]
i have plenty of single word named modules and it’s just lazy

natefaubion [2:54 PM]
top level module namespace
and then it’s just whatever, usually by features, utils, etc

foresttoney [2:55 PM]
That is essentially what we have as well

chexxor [2:56 PM]
Do the directory names describe the implementation used for various things? Or the features? I think libs use directory names to describe their implementation category, like “Monad”.

natefaubion [2:56 PM]
I wouldn’t try to think to hard about it
we have like MyCompany.DeviceDetails.Container
MyCompany.DeviceDetails.Redux

chexxor [2:57 PM]
lol, I didn’t think hard about it for a long time, but now I look at my codebase and need to sift through “Monad”-like directories to find my feature-relevant code to edit, and it’s a pain.
I’m purging those “Monad”-like directories to a “libs” directory outside the domain-specific stuff and implementation. I was just interested to hear what other people have done.

foresttoney [2:58 PM]
Our directories are organized by feature.

chexxor [2:59 PM]
Cool, thanks! I feel weird if I’m the only one doing a thing. I’m a weak soul – I need validation. :cry: :slightly_smiling_face:

1 Like