INTERNET BANKING (ALX Portfolio Project)

Developed by Ezeah Tobechukwu John

Unveiling My Internet Banking Project:

Introduction: In today's digital era, technological advancements have transformed various sectors, including the banking industry. Internet banking has emerged as a game-changer, offering convenience, accessibility, and enhanced financial management to individuals and businesses. In this blog post, I am excited to share the journey of my Internet banking project, highlighting its purpose, intended audience, and personal focus.

Purpose of the Project

The purpose of this Internet banking project was to develop a robust and user-friendly platform that empowers customers to manage their finances online conveniently. By leveraging cutting-edge technology, the project aimed to provide a comprehensive suite of banking services, including account management, fund transfers, and transaction tracking.

Make a modular approach to web design so that extra functionalities can be added in the future without disturbing other features.

Here are the roles I played in creating the Internet banking project:

  1. Project Initiator: I'm the driving force behind the conception and initiation of this project. Recognizing the potential benefits and demand for digital banking solutions

  2. Business Analyst: I conducted thorough market research, identified customer needs, and defined the project's requirements. I played a crucial role in translating business goals into technical specifications, ensuring that the platform would effectively address customer pain points and meet industry standards.

  3. Stakeholder Liaison: I actively engaged with stakeholders, such as senior management, clients, and regulatory bodies, to gather input, address concerns, and ensure alignment with their expectations. My role involved facilitating communication, managing expectations, and incorporating feedback into the project's scope and direction.

  4. Product Owner: I took on the responsibility of defining the product vision and roadmap. As the product owner, my expertise was instrumental in crafting a secure, efficient, and visually appealing banking platform. I worked diligently to implement features, test functionalities, and optimize performance.

  5. User Acceptance Tester: I actively tested (UAT) the functionality and usability of the platform. By simulating real-world scenarios, I can identify and resolve any issues or gaps in the system before its release.

Target Audience

This project was created for a diverse range of customers, including individual account holders, small and medium-sized businesses, and corporate entities. The platform aimed to cater to both tech-savvy individuals who prefer self-service options and those seeking user-friendly digital banking experiences.

Personal Focus

Throughout the project, my personal focus was on three key aspects:

a) User Experience: Recognizing the importance of a seamless and intuitive interface, I prioritized user-centric design. By conducting extensive user research, analyzing feedback, and collaborating closely with UX and UI designers, I ensured that the platform delivered an exceptional user experience. Ease of navigation, clear transaction tracking, and personalized features were incorporated to enhance customer satisfaction.

b) Security and Privacy: Internet banking platforms deal with sensitive financial information, necessitating robust security measures. I implement state-of-the-art encryption protocols, multi-factor authentication, and proactive monitoring to safeguard customer data. I ensured that privacy concerns were addressed comprehensively.

c) Scalability and Future-proofing: Anticipating future growth and technological advancements, I emphasized scalability in the project's architecture. By adopting a modular approach and leveraging scalable infrastructure. Continuous monitoring and regular updates were also planned to keep the platform at the forefront of industry trends.

What Inspired me to embark on the project

The inspiration behind my online banking project emerged from a deeply personal experience that altered my perspective on financial management and ignited a passion for simplifying banking processes.

It all started a few years ago when I found myself caught up in the whirlwind of a hectic lifestyle. Balancing a demanding job, the COVID-19 pandemic, a scarcity of cash, and countless other commitments, I constantly struggled to find time for basic tasks like going to the bank. As a result, my finances were perpetually in disarray, with late bill payments and missed opportunities to save or invest.

One particularly chaotic week, I received an unexpected bill with a looming deadline. Frantically searching for a spare moment to visit the bank, I realized that my hectic schedule simply wouldn't allow it. Frustration and stress consumed me as I pondered the inefficiency of the traditional banking system. I couldn't help but wonder why, in an era where technology has revolutionized almost every aspect of our lives, banking remained burdened with outdated methods that required physical presence.

Driven by this frustration, I decided to take matters into my own hands. I began researching online banking solutions, hoping to find a streamlined platform that could bridge the gap between my busy lifestyle and financial management. As I delved deeper into the world of digital banking, I discovered a realm of possibilities that could transform the way we handle our finances.

Inspiration struck me like a bolt of lightning. I realized that by developing a user-friendly online banking platform, I could not only simplify my own financial life but also help countless others facing similar challenges. I envisioned a platform that would empower individuals to manage their money efficiently from the comfort of their homes or on the go, breaking free from the limitations of traditional banking.

ER DIAGRAM

ER DIAGRAM

Built with/Languages used

  • HTML5, CSS, JavaScript, and jQuery are used for front-end design.

  • PHP7 & MySQL are used for back-end design.

  • Oracle MySQL has been used to create and host the database for the Internet banking website.

  • Other than the languages/tools mentioned above, NO other/external libraries and/or web-page templates have been used, everything has been coded from the ground up, straight from scratch.

Overview of Internet banking features :

  • Registration for online banking by admin

  • Adding beneficiary account by the customer.

  • Transferring amount to the beneficiary added by the customer.

  • Customers can check the transactions related to their account.

  • Customers can check their account statements within a date range.

  • Customers can filter their transactions based on certain variables.

  • auto-delete of added beneficiaries on sensitive data mismatch or/if the data integrity of the beneficiary is compromised.

  • Customers can debit/credit money from/into his/her account.

  • The customer can change their password and non-sensitive details.

  • Admin can add/edit/delete customers.

  • The admin login page is hidden from customers for security purposes.

  • Admin can post news/notices on the main website.

Features of the database

  • The database contains customer & admin tables.

  • Each customer has their own virtual passbook linked to his/her account number.

  • Each customer has their own beneficiary table linked to his/her account number.

  • A separate table for news and news bodies is maintained in the database.

Security features of the website

  • Each and every input is passed through mysqli_real_escape_string() to remove special characters from the string so that the user can’t submit arbitrary input. It protects from attacks like SQL Injection and cross-site scripting (XSS).

  • Sensitive details like passwords and usernames in a form are passed through method=“POST” and NOT method=“GET” to prevent the leak of such data via the URL.

  • Customers/Admin can only log into their accounts after entering their username and password via login.

  • The admin login page is hidden from customers for security purposes.

  • Before any page of the customer/admin part is displayed/loaded a check is made to ensure that the customer/admin session is valid and active (i.e., whether the customer/admin is logged into his/her session or not). If the session is invalid, the user is redirected to the home page without being notified.

  • Thus, accessing customer/admin pages after logging out, through history, or using the back button is impossible.

Difficult technical challenge

One of the most significant technical challenges I encountered during the development of this project was ensuring robust security measures to protect customer data and prevent unauthorized access. Security is paramount in any banking system, especially one that operates online, as it involves handling sensitive financial information and transactions. Addressing this challenge required meticulous planning, implementing industry best practices, and staying abreast of evolving security threats.

The complexity of the security challenge arose from the need to strike a balance between robust protection and a seamless user experience. While implementing stringent security measures is crucial, it should not hinder or impede users from accessing and utilizing the platform effectively. Finding the right equilibrium between security and usability was a delicate task.

The technical takeaways from overcoming the security challenge in this project are as follows:

  1. Robust Encryption: Implementing strong encryption protocols for secure communication between the user's device and the banking servers is crucial. It ensures that sensitive data is protected during transmission, safeguarding it from unauthorized access.

  2. Secure Storage and Access Control: Storing sensitive customer data securely is essential. Employing industry-standard encryption techniques for data at rest and implementing strict access control mechanisms ensures that only authorized personnel can access and modify the stored information.

  3. Proactive Monitoring and Intrusion Detection: Continuous monitoring and intrusion detection systems help detect and respond promptly to potential security threats. Real-time monitoring allows for immediate action, minimizing the impact of security incidents.

  4. Regular Security Audits and Penetration Testing: Conducting regular security audits and penetration testing helps identify vulnerabilities in the system. Engaging external security experts to simulate attacks and identify weaknesses allows for proactive mitigation of potential risks.

To do/Future scope

  • Make a customer grievance system where customers can interact with admin via messages to which the admins can respond appropriately. Much like a mail system between customer and admin.

  • Increase security of/in the website and web design, because honestly there is very little security as of now when compared to real-world websites.

  • Add features/enhance already available features for Internet banking.

Things I learned about myself as an engineer

My involvement in this Internet banking project helped me discover my strengths as an engineer, including problem-solving skills, adaptability, leadership, attention to detail, resilience, continuous learning, and confidence in decision-making. These insights will not only shape my future engineering endeavors but also contribute to my personal and professional growth.

How this project informs my engineering path in the future

This Internet banking project has significantly informed my engineering path by providing specialized knowledge in FinTech, enhancing problem-solving skills, emphasizing security and compliance, fostering collaboration, prioritizing user-centric design, promoting continuous learning, and developing leadership and decision-making abilities. Armed with these insights, I am well-equipped to navigate future engineering endeavors with confidence and excel in my chosen field.

Power of Continuous Learning:

I believed that ongoing learning and staying updated with emerging technologies are crucial for success in the engineering field, particularly in fast-evolving industries like FinTech.

I can describe myself as a proactive and visionary engineer with a strong focus on problem-solving and attention to detail. My commitment to continuous learning and adaptability allows me to stay abreast of evolving technologies and industry trends. With a deep understanding of the importance of security and user-centric design, I demonstrate a customer-centric approach and prioritize the protection of sensitive data. Overall, I am a versatile and dedicated engineer who thrives in challenging environments and continuously strives for excellence.

Project link on GitHub

Deployed project page link

Project’s landing page link

LinkedIn profile