gaearon / ama

Ask me anything!
222 stars 5 forks source link

How should you structure a medium-sized project? #106

Closed marcusradell closed 8 years ago

marcusradell commented 8 years ago

Hi Dan, I'm working on a refactor of a reactive websocket server with universal react components (See: https://github.com/marcusnielsen/reserve/ ).

I'm having trouble with finding the correct structure for the three projects; common (components), web-client, and server. I'd like to somewhow share most building tools and services like ava, babel, travis-ci, coveralls, et al. On top of that, I'd like to set things up with Docker for easy deploy to the cloud and locally.

How should I structure the project so it's easy to get started for other contributors and user? Should I have 3 different projects under its own github organization? Should I solve the dependencies between common and the other two projects via npm registry or git submodules?

Just any tips for how I should manage a multi-project structure would be great.

marcusradell commented 8 years ago

Closing issue since it been open for a long time, and I believe it would be an ongoing debate.

This post goes through some of the points and lands in a 1:1 structure and disregards the mono-repo until we have better tooling: https://medium.com/@jonathanewerner/thoughts-about-package-modularization-d9631f7a41f1#.5wy5fozdj