The project started from making an automatic solution of group-buying. We created a platform to fulfill the task, including the front-stage and back-stage websites; and the Line chatbot to help the shop managers to manage the group-buying process.
The parts that I've been working on can be separated into two main parts:
I built the chatbot with Node.js, Express, and Line SDK. The goal of the chatbox is to keep it simple and extendable, and Node.js happens to do the job well. The main feature is to broadcast the group-buy information, interact with the messages from the consumers, and guide them to place the orders. It can also be a medium for notifying the customers to pick up the goods that have arrived at the store and broadcasting the promoting ads.
Based on our previous work, we decided to push the platform to the next level. Eventually, it became not only an automatic group-buying solution but a complete e-commerce platform. In this project, I got the experience of building the login feature with the OAuth APIs, using the global site tag library (Google Analytics), and writing tests using jest and React Testing Library. I worked mainly on the Front-end development. To improve the user experience, I spent some effort building some features, such as:
- Components for infinite scrolling; and guided DBA to implement the "cursor base" approach to improve performance
- A React hook for helping the page navigate the page like a real app (moving forward and backward in sequence) by manipulating the history object
- Windowing feature for rendering large data set to ensure the app works smoothly no matter how many commodities have loaded on the page
And more... to make the webapp feel more like an app.