Although it has been a few years since my last post, I wanted to make an update on what I've been up to in recent times. I will start with the project I'm currently working on: MyBaseCamp.
What is MyBaseCamp?
MyBaseCamp is an online booking platform for outdoor activities, including mountaineering, hiking, canyoning and ski tours. Our repertoire includes more than a hundred different tours from various local providers, and with our platform both customers and tour operators have a secure and comfortable way for handling the booking transaction.
What does MyBaseCamp offer?
We offer both predefined as well as personalized tours from established providers in the regions including mountain guides, hiking guides and alpine schools. Currently we focus our efforts on the alpine region, with our most popular offers being in Oetztal (Ötztal) and East-Tyrol (Osttirol). If you are interested, be sure to check out our other popular regions and tours displayed on our landing page.
What powers MyBaseCamp?
One big issue we had to face in recent months was that the performance of MyBaseCamp - during development as well as in production - really started suffer a lot with our codebase growing. The rebuild times are pretty much hell, and even though Meteor improved it with it's 1.3 update, it still sometimes takes minutes for a code update to be deployed to the browser. This is the reason why in the next few weeks we will start to transition away from Meteor, and towards a plain Node.js instance with Webpack for client bundling and koa for server-side routes.
The one thing that stayed the same and will probably remain for the upcoming years is our database. Due to our beginnings with Meteor we decided to use MongoDB for our data layer, hosted on AWS instances managed by mLab. And until now we are very satisfied with this choice, as it not only allowed us to get going very quick, but also be very flexible when it comes to structural changes that inevitably happen after time.
In conclusion, the technologies we work with on MyBaseCamp are the following: