newjibs · real estate investment simulator

Period

newjibs lets users invest a virtual budget in real estate and check returns two years later. It started from the steep rise in housing prices during COVID‑19. I built the backend, servers and CI/CD alone.

Sales records reduced from over 4 million to about 60,000

Java 8Spring Boot 2.7.16Spring Data JPASpring SecurityMariaDBRedisAWS S3AWS EC2CloudtypeDockerGitHub Actions

  • Kakao Map cluster rendering by latitude and longitude
  • Real estate information lookup
  • Ranking
  • Notices and real estate news
  • JWT‑based member authentication
  • Vue.js frontend deployed on Netlify
  • Spring Boot, MariaDB and Redis containers shipped to Cloudtype and EC2 by GitHub Actions

Shrinking the sales data

Problem
Sale records since 2016 exceeded 4 million rows and slowed rendering, and simulated investing did not need all of them. Prices rose sharply after COVID‑19 began in 2020, so I used that as the basis for cutting the data.
Solution
Matched 2020 and 2022 sales one‑to‑one by floor and unit size, keeping price changes for the same homes. I judged that sales of the same home would make the investment results more trustworthy. Sales records fell from more than 4 million to about 60,000, and rendering became faster.

News crawling getting blocked

Problem
Collecting real estate news with jsoup on the hour got the server flagged as a bot and its IP blocked every time. I wanted to fix this inside the crawler rather than introduce Selenium.
Solution
Found that the on‑the‑hour timing and the request headers made the crawler look like a bot. The crawler now changes its request headers and adds a random delay before each call. With a less obvious call pattern, it stopped getting blocked.

Architecture

newjibs deployment diagram: Vue.js on Netlify, GitHub Actions, Cloudtype, EC2, and Spring Boot, MariaDB and Redis in Docker with S3
Deployment to Netlify, Cloudtype and EC2 through GitHub Actions
newjibs start screen with a city illustration and the service name
newjibs start screen with a city illustration
newjibs map of Seoul with clustered listings
newjibs map with the sales history of a selected property listing
newjibs dialog showing simulated investment returns
newjibs screen with real estate news cards