meetuparchive / meetup-web-platform

A collection of Node web application utilities developed for the Meetup web platform
MIT License
27 stars 9 forks source link

MWP modules #281

Closed mmcgahan closed 6 years ago

mmcgahan commented 7 years ago

As this repo has stabilized, its underlying structure has become better defined, but the current module structure makes it difficult to work with features in isolation, and the scope of particular updates is initially difficult to determine because it's hard to get a sense of how many files might need to be touched.

I'd like to change that by restructuring the platform to be more clearly modular, with explicit entry points for consumer applications rather than the 'export all the things' setup we currently have. The module organization would also aim to have as few dependencies between modules as possible, so that updates can be confined to individual modules - in effect, it would be multiple independent 'packages' in a single repo.

This work would follow on from refactoring the server-side modules as plugins (outline copied over from this Google Doc):

Module outline

server (Hapi)

Hapi Plugins

router

render (React+Redux helpers)

(optional) MWP build/run CLI

mattkime commented 7 years ago

nothing to add except that it looks like a good plan.

eilinora commented 7 years ago

@mmcgahan, Are there any down the chain changes that teams next be aware of, thinking of usages in Pro and MUP repo's?

mmcgahan commented 7 years ago

@eilinora at the moment I don't think there will be much if any change to the public interface besides tweaking some import paths - hopefully the sort of thing that can be done with a simple find-and-replace.

Any breaking API changes will be made very carefully, potentially with a deprecation period.

mmcgahan commented 6 years ago

done