This is an idea that I’ve been playing with for nearly 3 years. Now that I’m ready to expand my portfolio and hone my skills with React and Meteor, it was a clear candidate project.
I own a couple of books about mixing cocktails. They’re great, but what’s bothered me about all of them is that it’s relatively hard to figure out what I can make with the ingredients I have on hand. It’s kind of like the books are missing a ‘reverse lookup’ feature: it’s easy to find a particular cocktail and discover its ingredients. It’s not so easy to find a cocktail that matches your available ingredients.
I’ve done a bit of research on the Android app market, and such apps are already available. So, in that sense, I’m not about to create something groundbreaking. However, there is a treasure of feedback within the reviews of those apps, and I noticed that some apps still drop the ball on several things.
Still, I’m not looking to fix everyone’s problems. I love mixing cocktails, so even having a pocket-sized reverse-lookup-able cocktail recipe book just for myself would be a win. But I’ve decided to go overboard with this project. I need a solid showcase for my skills, so I’ve decided to work on two things:
Create a website powered by Meteor
This is something I’m familiar with already, but this time I’ll be cranking it up to 11. My intentions are to learn more about:
- using Nginx as a reverse proxy in front of Meteor’s Node.js server;
- using Meteor not only as the full stack for the website, but also serve as the backend for the React Native app I want to create later;
- Meteor and React’s idiosyncrasies;
- pub/sub model; and
- WebSockets.
Currently, my experience with Meteor has been to create some of their example applications, as well as integrate it with React for some experimentation.
Create a React Native app
This is what I really want, but because I also really want a Meteor backend, this part of the project will have to wait until that’s ready. And while I’m building the backend, I might as well turn it into a full-blown website first. Because I’m looking to have user-generated content in the app, it’s probably not so bad to have a fully-functioning website running before I release a native mobile app.
I have worked with Meteor’s Cordova feature to create Android packages from my experiments (for example, my Pathfinder Attack Calculator). Sadly, this way, your app will never look and feel like a true native app. It’s basically your Meteor website wrapped in an app’s web view. While I used some tricks in my Calculator to make it perform smoothly, it will never be able to compete with native apps.
I choose my battles, and learning yet another language for native app development is currently not something I’m interested in doing in my own spare time. I want to focus on JavaScript (and React’s JSX by extention) and learn more about Isomorphic JavaScript. So, this means I need to dive into React Native + Meteor a little more.
I’m pretty excited about this project, to be honest! Follow it on GitHub.
0 Comments Leave a comment