Inspiration

Our mobile wallet project was inspired by the need to address the limitations of traditional payment systems that rely heavily on credit and debit cards. We realised that there are many people in the world who face barriers in accessing these traditional financial tools due to credit requirements and the lack of banking infrastructure. Our goal was to harness technology to build a wallet that supports diverse payment needs to promote financial inclusion.

What it does

We have created a mobile wallet that lets you check your balance and make payments anytime, anywhere. Online payment services are made so much simpler with our app, providing the necessary functionalities and doing away with the complicated ones.

Phone Number Verification: Registering a new account or logging in requires that you have a working phone number. A verification SMS containing the OTP will be sent to the user's mobile number to ensure legitimacy of the user. Furthermore, no users are allowed to share the same number, thus ensuring unique identity.

Realtime Updates: The Home screen displays all the information you need in your account, and updates automatically whenever there are changes.

Transfer to Friends: Making transactions between friends has become so easy and flexible. You can identify your friend's account through either their username or phone number. Their real name will also be displayed before the transaction goes through, ensuring that it is indeed your friend's account. After the transaction, both your balances will be updated automatically.

QR code scanner: The inbuilt QR code scanner makes use of the device's camera to process QR codes.

Loans: Our app offers loans up to a limit of $500 debt incurred. These loans have a due payment of 3, 6 or 12 months, and the debt incurred takes into account this duration. The debt is adjusted according to the interest rate compounded by the length of the loan.

How we built it

Our digital wallet was built using a combination of modern technologies to ensure security, scalability, and a seamless user experience.

Frontend: We used React Native to build a cross-platform mobile application, ensuring compatibility with both iOS and Android devices. React Native allowed us to create responsive and intuitive UI features on both platforms.

Backend: The backend was developed with Node.js, providing a robust environment for handling our application's logic, authentication, and API endpoints. Express.js was used to streamline the server-side operations.

Database: We implemented MySQL as our relational database management system to store user data, transaction records, and loan details securely and efficiently. MySQL's reliability and support for complex queries allowed us to manage data relationships effectively.

Authentication: To ensure secure user authentication, we integrated Firebase for OTP verification via phone numbers. We decided to utilise Firebase to provide an additional layer of security, making user onboarding and login process more secure and convenient.

Challenges we ran into

Security: It is crucial that a mobile wallet system integrates safety features to protect user transactions. To ensure security, we implemented certain security measures to guard user information and ensure legitimacy of transactions.

Unique Solution: For this problem, it was rather hard to come up with a creative solution. As such, we focused our efforts into a minimalistic design that covers only the necessary features. This makes our product not only easy to understand, but also easy to use, promoting greater financial inclusion and user experience.

Accomplishments that we're proud of

During the development process, we had achieved several significant milestones. Here are the key accomplishments:

Robust Authentication System: By integrating Firebase for secure phone number OTP verification on top of login with username and password.

Real-Time Data Handling: We implemented real-time data synchronization between the frontend and backend, allowing users to see their latest financial status, loan information, and transaction history immediately.

Debt Management: We implemented a debt monitoring feature that prevents users from exceeding a specific debt limit ($500), promoting responsible borrowing and financial management.

Cross-Platform Development: We developed the app using React Native and tested it on both iOS and Android simulators ensuring that the user interface and experience are consistent across devices.

What we learned

Tech Stack: This was our first time working with MySQL and we enjoyed using it due to its data integrity and user friendliness. We also learnt how to set up the Node.js server such that all the data could be queried accordingly, integrating our backend with the frontend seamlessly.

Modularity: We learnt to break our system down into smaller modules, and made sure to test them separately to help with debugging. This also allowed us to reuse code in places that were required, and made it a lot easier to maintain.

What's next for TikCoders

Enhanced QR Code Functionality:

  1. Enhance our QR code feature to support direct payments to others. Users will be able to scan a QR code to transfer funds instantly, making transactions with merchants, friends, and family more convenient and seamless.

  2. Implement a unified QR code system that supports both receiving and making payments. This is to simplify the payment process and reduce the need for multiple QR codes for different purposes.

User Interface Enhancements:

  1. Improvements will be made to the user interface with a focus on aesthetics and usability. Our goal is to create a more intuitive and visually appealing experience that simplifies navigation and enhances user satisfaction.

  2. An introduction to personalised dashboards will provide users with insights into their spending habits, financial status, and loan details.

Share this project:

Updates