Basic Banking System
Simple login + transactions with PHP backend.
- ROLE
- Web Dev Intern
- PERIOD
- Feb 2020
- STATUS
- Published
OVERVIEW
Simple login + transactions with PHP backend.
ARRIVED AS
Minimal banking flow for learning + demo.
This was one of my first complete web applications, built during my internship to learn the fundamentals of full-stack development. The goal was to understand the complete request-response cycle, database interactions, and basic security considerations in a controlled learning environment. While the scope was intentionally limited (basic CRUD operations for banking transactions), the project served as a practical introduction to server-side programming, SQL databases, and user authentication - concepts I'd only known theoretically before this.
WHAT I BUILT
- 01Auth, transfers, and ledger views; clean UI.
WHAT CHANGED
- Good primer on forms, security basics, and SQL ops.
Decisions, with the cost of each.
A decision without its trade-off is marketing. Each row says what was chosen, why, and what it gave up.
Choosing procedural PHP over frameworks
Wanted to understand the fundamentals before using abstractions like Laravel. This helped me appreciate what frameworks do under the hood.
Manual SQL queries instead of ORM
Needed to learn SQL syntax, table relationships, and query optimization basics. Wrote JOIN queries by hand to understand database operations.
Session-based authentication
Simplest authentication mechanism to implement. Learned about session cookies, server-side storage, and state management.
Minimal frontend styling
Focus was on backend logic. Used basic HTML/CSS to make it functional but not fancy - this was about learning server-side concepts.
✓ LEARNED
Security fundamentals
First real exposure to SQL injection, XSS vulnerabilities, and why input validation matters. Initially wrote vulnerable code, then learned to use prepared statements and sanitize outputs.
Database design basics
Understanding primary keys, foreign keys, and why atomicity matters in financial transactions. Learned the hard way about race conditions when two transfers happened simultaneously.
State management
How sessions work, cookie-based authentication, and the stateless nature of HTTP. This foundation helped later when learning about JWT tokens and modern auth patterns.
Form handling and validation
Server-side validation, error messaging, and user feedback. Learned why client-side validation alone isn't enough.
Development workflow
Setting up local PHP/MySQL environment (XAMPP), debugging with var_dump(), and basic version control with Git. First project where I used branches and commits meaningfully.