The cost of pyrrhic victories. Finding a host for the project. Learning about infrastructure and deciding on the backend stack.
It has been around two weeks since my last post. There is progress but far less than expected. I've looked into hosting the product on DigitalOcean. Their marketing and a podcast I've listened to recently claimed they are a developer-focused infrastructure provider. I agree with their claims and sincerely enjoy using their platform. I'm utilizing their brand-new "Apps" feature. Create a project, connect a GitHub repository to it, done. It will recommend a setup for your code. In my case, it detected it as a node.js project since I'm using [Stencil.js]. Unfortunately, that was not correct though. A quick configuration change and recognized it successful as a new static website. Free hosting for the project thanks DigitalOcean! Remember, I don't have a backend yet!
I'm choosing Deno to implement a GraphQL server. The server will serve data from MongoDB. I've never worked with Deno nor GraphQL. I'm well aware that using unknown technologies is a typical beginner's mistake. I'm committed to employing both new (at least for me) technologies in this project. Past year, I got curious about Deno as a NodeJS alternative. Since release version 1.0 I've sworn to myself to use it at least on one project. GraphQL I've heard great things from the ForkPullMergePush podcast with Ian Fosbery and Dirk Geuers. It sounds too good to be true. So I want to find out if it is. Both technologies look very promising. I'm eager to learn them. Deno uses TypeScript, a perfect match for Stencil.js, which also uses it. GraphQL will abstract sending and fetching data from the database for us. GraphQL spares us from writing a lot of future boilerplate code compared to REST implementations. That's the theory.
I will work with MongoDB as data storage. I love the horizontal scalability of MongoDB and have used it in past projects.
The project is now reachable under rewohub.com with almost no functionality. For those interested in why it took me two weeks to progress this much:
I will use the additional time from the summer break and the finished project of the client to recover and focus more on RewoHub. The abysmal performance the last two weeks are credited to almost burning out from the accumulated stress from the last few months. I will improve my time management. I feel my energy replenishing by just typing these words. Thinking about what I can code next makes me super excited and I'm looking forward to it.
Next, I want the possibility to persist a board, no event-driven real-time features yet. It will make the application already somewhat useful. For this, we need a GraphQL Server running and a MongoDB.