E Tech.

Tech stack I tried to make web app with Typescript.

Introduction

Hi, everyone. I'm a newbie to WEB development, and over the last three months, I tried out several tech stacks to deploy web apps. That was a tough challenge for me in terms of several points. One of the most difficult parts was choosing tech stack. There are many options to deploy apps on the Internet. I can use whatever I want to use. So, during the period, I tried different tech stacks as much as possible because having experience with various tools helps me understand the general principles of architecture and design. Now I'd like to wrote down my thoughts as a memo. I'll review and rate my choices. Let's go!

Train Route Transition App

Tech Stack

Frontend : React, Redux
Backend : Express, prisma
Deployment : Vercel
Self-Review : ★☆☆

Review

This was the first app I made. In this app, what I wanted to do was suggesting transition from major stations to famous sightseeing spots.

First, in my case Redux was too much. I knew it wasn't necessary for an app of this size, but I was curious and used it anyway. Redux requires more code even for a simple feature. I needed to learn their specific terminology and writing style. For most cases, where I want to focus on delivering a service quickly, I wouldn't use Redux. Using useContext and page routing would likely be enough in many scenarios.

Another important lesson from this app was the significance of software/system architecture. In this app, it's the logic of searching transition route and architecture that gets, edits and manages data from api. Of course these kind of core features is related to the skill I learned, but there's more to it. I think creating unique service needs its original idea or business design, and those require right software design or infrastructure. I'd like to deepen my knowledge and experience in this field.

Since Redux is a little too much and it's a little complicated compared with requirements, I'm giving it one star.
I can find more suitable stacks.

Simple chat app

Tech Stack

Frontend : React, React-router
Backend : Golang, Redis
Deployment : Vercel
Self-Review : ★☆☆

Review

I was interested in Golang, so I used that. This time, I learned the restriction due to platform. Initially, I'd like to use websocket to implement the chat app. However Vercel doesn't fully support Golang, it only supports Golang with Serverless Function. That only run when it's invoked, so I couldn't use Golang for a real-time chat app on Vercel.

The theme of project didn't fit this architecture, so I’m giving it one star.

Learning language app

Tech Stack

Frontend : Nextjs, Next Auth
Backend : Django REST framework
Deployment : Railway
Self-Review : ★★☆

Review

This app was built in collaboration with teammates. In the first two apps, one difficulity was page routing and state management. Using Nextjs helped us to organize folders and components. The routing system is intuitive and flexible. It also has the other great features but the most useful point for us was that routing sysytem, I think. In Django, handling data was straightforward thanks to Django Model. Model helped us to write some code for data manipulation because that was like we were using schemas to define how data should be handled. Also, Railway is good platform to host and deploy small apps. It has a free tier and supports many languages, I think we can use it in many cases. It supports Docker file as well.

I’m giving this project two stars because, while Next.js and Django worked well together most of the time, there were moments when combining them was tricky. I'm not confident the combination of these two things.

Conclusion

For now, I'll use Nextjs as the first choice for Frontend. For backend, I'll use Golang but it depends.