How I created UTLeetcoder

UTLeetcoder and UTLeetcoder Github

When I was studying CSC236 and CSC263, I found the website Leetcode and started to use Leetcode to do exercises to consolidate my understanding of data structure, algorithm and corresponding analysis. After doing it for a while, I found that Leetcode does not provide users with specific data, such as how many exercises they have done in a day or a week.

So I found my roommates and prepared to develop a web application together to help users effectively track their daily exercise tasks. After designing, we divided the work. I was responsible for developing the webpage, including but not limited to designing the user interface and data display interface, and at the same time ensuring the efficiency of the application in data processing and synchronization. My roommates were mainly responsible for back-end data processing.

We decided to use the React framework for the front end, so we used create-react-app as our build tool. In addition, we also used Ant Design to greatly shorten the time of designing components.

At first, we planned to use Express.js + Node.js + MongoDB to build the back end. In this way, we can design a user system where users can register and log out by themselves. But this will require us to purchase a server or some cloud services. In order to reduce costs, we decided to abandon the db and serialize the data and store it on Github. In addition, I helped fix some bugs in the back end during the testing phase.

For specific back end design, please refer to

Because we don’t have a server, we developed a CI Pipeline, using GitHub Actions to automatically crawl and process data, and automatically deploy it on Github page. After the application was successfully launched, more than 30 users used it.