Awesome FOSS Logo
Discover awesome open source software
Launched 🚀🧑‍🚀

Meteor Patterns

Categories

So for a weekend project I’ve decided to work on a site that makes conference schedules across languages, platforms, and countries easily available.

I decided to use MeteorJS for this project, a relatively young web framework that really puts the “shared” in “shared back end and front end codebase”.

While I have known about MeteorJS for a while, the last time I looked at them they were 0.x software, so although the demos had lots of interesting functionality, I wasn’t quite ready to take the dive (at that time, I think I was till kicking the tires on Knockout, and AngularJS).

Well, I do have time now, and there are some patterns I have been finding for doing things that others might find useful that I’d love to share:

Alert!

Got some reddit feedback on the patterns I posted earlier (which have since been removed), and it turns out they are not the right way to use meteor! The jury is still out on the Testing section.

Read this instead:
https://docs.meteor.com/#/full/structuringyourapp

Note that the Meteor docs have a “basic” mode and a “full API” mode (selectable on the top left).

—Content removed—

Testing

The team at Meteor have done some work to allow flexibility in testing in the way of not trying to munge/process anything in the “tests/” folder. Thanks to that, while hacky, you can create an NPM package which holds JUST the tests for the project, and use NPM/nodejs freely inside that folder.

To make this possible I created a barebones package.json with `npm init`, and went ahead adding my dependencies.

Also, I installed the NPM package that meteor provides, which enables you to use NPM in your meteor app.

At this point, most of the tests I am writing are integration tests, as a whole slew of tests become unnecessary, with how much work Meteor does for you.

While these are just some patterns I have adopted while developing, they’re not sanctioned/approved by the Meteor team, so use them with caution. While I hope I’m not abusing Meteor too much, it’s very possible that I am, so use these patterns at your own risk!