This job involved working in a team of three developers, to build both the website and the service itself. I was working primarily as backend, although I did later take on some of the frontend work.
It was a pretty interesting role, because we built everything more or less from scratch. The broad architecture had been pre-defined by my boss, but other than that we had the freedom to build it how we saw fit. The product was meant to take raw data from large buildings, then analyse and display it for clients and building-physics specialists.
The backend was a node server, set up with a domain-based architecture to handle communication between the website’s API (apollo) and a postgres database. It had an awilix container at the center to keep everything together. Pretty much everything was handled by the single backend, including authentication and raw data processing.
My job included building many of the core systems, including our token-based authentication system, permissions system, and email server. I also was in charge of backend peer-review, and wrote most of our standards and system documentation. I learnt a lot about the value of keeping well-defined standards, and by the end we had a very readable and easily-maintained system in place.
Aside from that, we also had a frontend built with react and the chakra components library. I was not the primary dev for the frontend, but I did regularly help with frontend features. I eventually fell into a fullstack role, where I would take on any features that needed both frontend and backend support. I also helped with design work on occasion.