Thinking a new project

Posted 21 December 2021. 2 min read.

A new web app project 🚀

If you remember my previous post, you know the plan was to create a new app I will be proud of. So, now what? I wanted something to be easy to develop, but not that easy neither. Small, should be small, otherwise, the chances are that it will end up in my GitHub half-done projects graveyard. Let's cut to the chase, my idea is to develop an app to arrange BBQ for any group of friends. Here in Argentina BBQ ("asados" as we call them) are quite a thing. I started with some sketches of some screens and defined some technologies. It will be a Progressive Web Application, offline first so anyone can install it on their mobile phones if they want, be always available, and be able to receive notifications. I know, I am turning aside a little from my goal of making it simple, but it will be small! 13 screens. That's small, right?

Tech Stack

In my last years, I have been switching forth and back between Vue and React. Most of the companies request React developers, but I like Vue, I like to develop an app with this framework. As I couldn't try Vue 3 and Vite in a production app this is a great opportunity, as already have passed a year since it was tagged production-ready. So, I used Lerna to create to monorepo with 2 projects: one a component library/design system and another the web app itself. The second one will be based on Vitesse: Vite + Vue 3 + WindyCSS + Pinia (for state management) and other utilities and conventions. It will communicate with an API to auth and create new users and sync data between them. The data will be stored locally in the browser through IndexedDB. I already started with it and I did very small progress on it, even though I (already?!) made some changes in my roadmap: The external component library should wait: it's not that easy to create a full capable component library, so, instead I am using Naive UI.

The API

Great Santi! You already have something working, what about the API? Well... I will do it with Rust and Rocket. Yeah, quite challenging for a mostly front-end developer. But I think this language is part of the future: the browser eventually will become the OS of most of us and having the ability and power to run compiled code on the client-side is amazing if you ask me. I have been trying to learn some Rust for a while but as I didn't have real challenges, my feeling is that I am stuck and making no progress.

Architecture

Web Application
linked
UI Library
Vue App
Rust Rocket API

That's it for now. I will come back to this blog log soon!

Thanks! (if anyone is reading this).

PS: I haven't done anything related to improving my English or reading tech books. But today I have my first job interview.