hoodiehq / discussion

General discussions and questions about Hoodie
7 stars 1 forks source link

Combine hoodie, hoodie-start and hoodie-server into just hoodie #94

Closed gr2m closed 8 years ago

gr2m commented 8 years ago

I think we did great work with the new Hoodie, and with the simplification of the internal archticture.

One of the results is that hoodie and hoodie-server only have very little code left. The separation made sense in the past, but now lots and lots of code has been moved into the core modules.

Also when I think about what Hoodie is from a technical perspective, then I would say: "It’s a generic app server (or backend) with a front-end API.". If hoodie would be the server, this would directly translate into our architecture.

so tl;dr – instead of this

hoodie
├── hoodie-start
├── hoodie-client
└── hoodie-server

I suggest we do

hoodie
└── hoodie-client

and move hoodie-start and its README into the hoodie’s /bin folder, and hoodie-server’s logic into hoodie.

With the code we have today this makes a lot of sense. Also note that hoodie-client is already required by hoodie-server (not hoodie), as the hoodie-server defines the /hoodie/client.js route and takes care of the client code bundling.

Also relevant: we don’t have a hoodie cli tool any more so we don’t need to test it. And for full integration testing we want to use dont-break with hoodie-app-tracker, see the PR here: https://github.com/hoodiehq/hoodie/pull/470


Update Apriil 30, 2016

No objections, so I’m moving on with this now.

gr2m commented 8 years ago

started a PR here, it seems pretty straight forward: https://github.com/hoodiehq/hoodie/pull/471

janl commented 8 years ago

cc @boennemann

boennemann commented 8 years ago

I really like this one. I think it's really cool how cutting everything into the smallest possible pieces gave us the clarity and room needed to think about how things should be put together.

Looking at things now @gr2m's suggestion makes a lot of sense and I'm +1 except for a small implementation detail.

I wouldn't merge the hoodie-server code into hoodie, but I'd merge the current top-level code and hoodie-start into hoodie-server and then move the hoodie-server repo into this GitHub repo. hoodie-server was the central repo of the "legacy" hoodie and with its 1000+ commits it bares a lot about the history and origin of hoodie (first commit 2012). During my hoodie-server refactor I learned so much by digging through most of this and I think it would be super cool to carry it over and eventually have it present it in the new hoodie 😊 :v:

gr2m commented 8 years ago

Great, I don’t mind merging things into hoodie-server and renaming it to hoodie :) Unless there are any objections, I can do this the coming weekend.

boennemann commented 8 years ago

@gr2m Just to make extra sure we don't lose stuff: don't rename the hoodie-server repo to hoodie. Add hoodiehq/hoodie as a remote to your hoodie-server repo, push the newly merged code to hoodiehq/hoodie and make that the master branch there. That way we'll keep all the watchers, stars etc :)

gr2m commented 8 years ago

@boennemann good point, I’ve updated my instructions. Could you review my PR here so I can move on with it? https://github.com/hoodiehq/hoodie-server/pull/495 that’d be ace

gr2m commented 8 years ago

thanks y’all – it’s done :clap: