The origin of Elian.Coffee
Elian.Coffee was originally an idea that sparked from a school assignment. While I was studying at Odisee University of Applied Sciences, we got an assignment for the subject "Web & Mobile Development". The assignment was about creating a mobile app or PWA in which you had to use a variety of technologies.
Since my first year, I had already made a couple little projects about coffee, since it's one of the things I'm passionate about, and this time I was thinking in the same direction. The original idea was to build a social platform with a focus on sharing where you're drinking your coffee and give them a rating. Think of it as Untappd, but for coffee instead of beer.
When I pitched the idea to my proffessors, they liked the idea, but also told me that they knew someone from the coffee-scene. When they asked if I wanted them to approach him and pitch the idea, I was very enthusiastic and immediatly said yes! Some weeks lated we meeted and talked about what the project could be, Raf had another idea about a platform in which cuppers and coffee manufacterers could organize cuppings (tastings).
After I took some time to think about the project and how I could realize it, I decided that Raf's project idea actually was a lot better.
Not only was it something new and exciting, it also was something usable.
Believe me, after making a lot of school projects and deleting them afterwards, it gets frustrating.
So here we go, I started coding the project!
The technologies that made it possible
When I first started thinking about the project in it's final form, I started by using React Native as the framework that should make it possible. I did a lot of research about using React Native with TailwindCSS and deploying it on the web as well. Both of these things were possible and a cool thing to play with, but not that easy and maintainable, so I started looking for alternatives.
One of the blockers for me, was that I didn't want to build a native UI with basic components, taken from a library. So at first, Ionic, Xamarin and Flutter fell away. I quickly then realized that I wasn't actually looking to build an app, but I wanted to build a website, that was downloadable and runnable on smartphones. Somewhat later I discovered the Nuxt / Capacitor combo, it was love on first site!
Using Nuxt was ideal, since I could use VueJS and native web languages to build the main application and later package it into a mobile application. So I built the website using Nuxt, Capacitor, TailwindCSS and an API written in NodeJS and ExpressJS. Now that I knew how to build the front-end, I still had some issues in the back-end. Never before had I used NodeJS/Express with something else as a database then MongoDB. I was up for the challenge and searched around for a good OSRM usable with MySQL, since that was the database of my choice.
Sequelize instantly got my attention and I started playing around with it. I must say that it (almost) perfectly filled all my needs. Although I think that if I had to do the API over, I would build it in something like .NET or PHP/Laravel as API, but at the time I also took overall cost into consideration. Since I wanted to have a full working MVP by the date of the deadline I wanted to deploy using the cloud (Google Cloud by choice), which isn't always cheap.