James Cen's blog

Archives · 2025

Home

About

Archives

loading..
WeatherProjectAUTINFS803

Weather Project 12 - Frontend and Backend Boundaries

During the coding work for the Weather project, we encountered several problems, such as needing to change the frontend code to adapt to the backend API, or sometimes the opposite. These kinds of problems led us to a new topic to think about — boundaries. In simple terms, a boundary means how to divide arrangements and responsibilities in the architecture..

Read more
loading..
WeatherProjectAUTINFS803

Weather Project 11 - Docker Deployment

In our Weather project, we deployed our application to EC2, RDS, and S3. However, using a virtual machine is not a modern way to deploy a website today. Here is my study on Docker, and I hope to apply it in a future project. About virtualization Virtualization has been a foundational technology in the IT world for decades. Its roots can be traced back to..

Read more
loading..
WeatherProjectAUTINFS803

Weather Project 10 - Solving the CORS Issue

One day, my teammate mentioned me several times and said that the backend API was not reachable. It was strange because I had tested it an hour earlier and everything was working fine. When I saw the error screenshot, I realized that the API itself was fine, but somehow it couldn’t be called by Vue.js. After some investigation, we found that it was a COR..

Read more
loading..
WeatherProjectAUTINFS803

Weather Project 09 - Data Caching

“We didn’t predict the weather forecast, we are just the porters.” This is a self-deprecating way to describe what we were doing. The current and forecast weather data is not created by us. Instead, we use a third-party API to get the data, process it, and show it to end users. However, there are several issues we face: What if the number of requests kee..

Read more
loading..
WeatherProjectAUTINFS803

Weather Project 08 - Agile Development with GitHub Projects

One major concern that came to my mind was how to manage the coding process and the project process. On one hand, developers create new branches, write code, submit changes, do code reviews, and merge the branches — that’s almost everything. On the other hand, it is hard to follow the project progress because there is no system to track it. In our case, w..

Read more
loading..
Backend

Backend Burger

I just saw an interesting picture that illustrates the expansion of backend technologies using multiple layers of a burger.

Read more
loading..
WeatherProjectAUTINFS803

Weather Project 07 - Implementing a DAO Layer in Vue.js

DAO stands for Data Access Object. It’s a design pattern used to separate the data persistence logic (API calls or database interactions) from business logic or UI logic. In the early stages of the project, we found that the Vue components were mixed with a lot of API request logic, which made the code difficult to test and maintain. In order to improve t..

Read more
loading..
WeatherProjectAUTINFS803

Weather Project 06 - Web API Design

The Web API is used for building modern websites. It provides loosely coupled, easy-to-maintain, and cross-platform features, which have become a standard for backend frameworks nowadays. Our project is required to provide at least 10 APIs. These are listed below based on our features and user scenarios. GetStatus SearchCityByName GetCurrentWeatherByCit..

Read more
loading..
WeatherProjectAUTINFS803

Weather Project 05 - HTTPS Implementation

Man-in-the-middle attacks and privacy concerns are driving more and more websites to enable HTTPS as a basic requirement. Starting in 2021, the Chrome browser began loading HTTPS by default, which has helped promote the use of HTTPS across the Internet. In this blog, it will introduce how we implemented HTTPS for our website. HTTPS implementation principl..

Read more
loading..
WeatherProjectAUTINFS803

Weather Project 04 - Handle User Credentials Safely

As I mentioned in the previous posts, handling user registration and login is an important part of this project. The easiest way to do this is to save the password in plain text and check it with the stored record. However, this method is not acceptable nowadays. There are several concerns with it. For example, the site administrators can read all the dat..

Read more
123