How We Launched a Dress Rental Service at Lightning Speed with Event-Driven Architecture

Hello everyone! I'm Tsuji, the CTO of airCloset. This is the first article for the airCloset Advent Calendar 2024. I hope you'll check out our other posts as well!
At airCloset, we've been gradually transitioning to an event-driven architecture (EDA). Today, I'll give an overview of how we leveraged this foundation to launch our new dress rental service, "airCloset Dress," incredibly fast.
If you're interested in the specifics of the architecture itself, I've written about it in detail in this article, so I encourage you to take a look.
Development Period
We went from the start of development to release in about three months.
We also launched with a small team, using only about 20% of the resources compared to the "Disney FASHION CLOSET" we released last year.
Implemented Features
The main features implemented are as follows.
As you can see, this is not a list of features that could normally be implemented in just a few months. It was great to see this as validation that our current system strategy is on the right track!
It's also important to note that for a rental service, management and return functions are required for both the end-user and the warehouse side. This means that out-of-the-box e-commerce packages like EC-CUBE or Shopify cannot be used as-is.
For End-Users (Web)
User Registration & Login
Shopping Cart
Product List & Details
Ordering System
Management of Rented Items
Return System
Item Management Functions
Purchase Order Registration
Item Information Registration & Updates
Warehouse Integration Functions
Shipping Integration
Purchase Order Integration
Incoming Item Integration
Returned Item Integration
How We Did It
As I mentioned at the beginning, at airCloset, we have implemented a common foundational system that supports our rental services using an event-driven architecture.
I wrote about the details in an article last year. As we had planned, we were able to reuse most of the systems developed last year almost as-is, with only a few additional features. The majority of the development work was focused on the front-end web application for end-users, as it required a new design.
The Benefits of Event-Driven Architecture
Ensured Scalability
An event-driven architecture treats each process as an independent event. This allows the system to scale out flexibly, even when experiencing concentrated loads. This scalability is crucial for services with fluctuating demand, like a dress rental service.
System Extensibility
Because each system is loosely coupled, adding features to one system has a lower risk of impacting others compared to an API-driven approach. This makes it easier to extend the system over time.
Integration Between Multiple Systems
If you only have 1-to-1 system integrations, an API-driven approach is often easier to handle. However, when you have 1-to-many integrations, or when a chain of integrations is involved (e.g., system A calls B, which then calls C), error handling becomes extremely complex. In an event-driven approach, you implement error handling by creating a separate process for error events, which allows for a relatively simpler implementation.
I think you can get a better understanding of this by reading my article from 2022 as well.
Future Outlook
The launch of our dress rental service has once again proven the effectiveness of our common event-driven architecture foundation. We will continue to strengthen this foundation and proactively develop new services.
Regarding the front-end web applications for our users, as long as the service model is the same, the required functions are quite similar. Therefore, we are considering whether we can also create a common foundation for parts of the UI.
We are also actively looking for engineers who want to take on the challenge of event-driven architecture. If you're interested, please check out our airCloset Engineering Careers site, -airCloset Quest-!
Thank you for reading. The airCloset Advent Calendar will continue, so please look forward to our future articles!
Subscribe to my newsletter
Read articles from Ryosuke Tsuji directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
