Inspiration
TikTok is particularly popular among younger audiences who are already comfortable with digital payments. An e-wallet could cater to this demographic and their preferences, potentially attracting a loyal user base. Simplifying the payment process within TikTok can lead to a better user experience. Users won't need to leave the app to make purchases or send money to friends, which can lead to increased engagement and user retention.
What it does
The core function of an e-wallet is to enable digital payments. Users can load money into their wallet and use it to make various types of transactions, including topping-up and person-to-person (P2P) transfers. Users could recharge their account via Alipay and transfer money to friends, family, or businesses directly from their e-wallet, making it a convenient tool for splitting bills, sending gifts, or settling debts. Once the users login their account, they will receive a private token which is necessary for every service, which ensures security.
How we built it
To initiate the project, we initiated a thorough project analysis, meticulously dissecting each functional module into distinct services. This strategic approach not only bolsters the project's maintainability and scalability but also fosters a focused working environment for our diverse team members.
To further optimize teamwork and collaboration, we adopted a clear-cut frontend-backend separation architecture. Our frontend predominantly leveraged React, a widely acclaimed JavaScript library renowned for delivering an exceptional user experience. On the backend front, we harnessed the Spring Boot framework, renowned for its prowess in accelerating the development and seamless deployment of Java applications.
Recognizing the paramount importance of payment processing, we took a deliberate step to isolate the Alipay Payment API and dedicated an independent service to it. This deliberate isolation assures the steadfast stability and security of our payment processing, while also streamlining future expansions and maintenance of this vital feature.
Once each service achieved operational excellence, we seamlessly transitioned into the final integration phase. This pivotal stage entailed the harmonious amalgamation of frontend and backend services, ensuring their flawless synergy to provide users with an unblemished experience. Rigorous testing of the entire system was also conducted to guarantee optimal performance and uncompromised security.
Challenges we ran into
Lack of Familiarity with Spring Boot: None of our team members had prior experience with Spring Boot at the outset of the project. This meant that we had to embark on a steep learning curve to grasp the framework's fundamentals and best practices.
Learning Curve and Debugging: Learning a new skill or technology always entails a substantial learning curve. We invested a significant amount of time in research, exploration, and debugging to ensure that we correctly implemented Spring Boot's functionality.
Time Management: Balancing project development with academic commitments and other responsibilities presented a significant challenge. It required meticulous time management and prioritization to ensure the smooth progression of the project.
Project Concept and System Design: Designing the structure and features of the E-wallet is something we never encountered before. Our wallet should include both innovation and scalability, while maintaining accuracy and security.
Accomplishments that we're proud of
Finally we finished our project with most of the functions we designed.
We managed to pick up new frameworks quickly, and utilize them following rules and conventions.
What we learned
In-Depth Learning and Training: We proactively engaged in learning and training, utilizing online tutorials, documentation, and courses to rapidly enhance our knowledge of Spring Boot and React.
Collaboration and Knowledge Sharing: Team members actively shared what they learned and collaborated to troubleshoot issues. We fostered a supportive learning environment, making it easier to tackle technical challenges.
Flexible Time Management: We implemented flexible time management to ensure that each team member could balance their academic workload and project responsibilities effectively. This included task scheduling and setting achievable milestones.
What's next for eTreasury
1 Boost Security by: Upgrading to Https with certificated from trusted organization. Incorporate Encryption tools to transmit sensitive data online Add API Gateway as the entry point to the outside to access resources 2 Boost Robustness and availability Improve on error tracing and monitoring and logging; Switch to micro service, do health broke, melt down and service recovery 3 Boost Scalability and extendability Adopt Microservices, do service registry and discovery Support plugins for Payment Gateway of third party platform, by documenting an interface that publin developer need to follow.
Built With
- alipayapi
- antd
- java
- javascript
- maven
- mui
- mysql
- nextjs
- react
- springboot
Log in or sign up for Devpost to join the conversation.