A full-stack banking application with a Flask-based REST API backend and a React front-end. The application allows users to register, log in, manage bank accounts, and perform transactions such as deposits, withdrawals, and transfers. The backend uses JWT for authentication and SQLAlchemy for database management, while the front-end provides a user-friendly interface for interacting with the API.
FEATURES
User Authentication: Register and log in with username and password, secured with JWT. Account Management: Create and view bank accounts with unique account numbers. Transactions: Perform deposits, withdrawals, and transfers between accounts. Responsive UI: A React-based front-end with navigation, forms, and real-time account updates. Secure API: Password hashing, JWT-based authentication, and input validation.
TECHNOLOGIES
Backend:Flask: Python web framework for the REST API. Flask-SQLAlchemy: ORM for database management (SQLite, can be swapped for PostgreSQL). Flask-JWT-Extended: JWT authentication. Flask-CORS: Cross-Origin Resource Sharing for front-end integration. Werkzeug: Password hashing for secure user authentication.
Front-end:React: JavaScript library for building the user interface. React Router: Client-side routing for navigation. Axios: HTTP client for API requests. CSS: Basic styling for the UI.
Tools:Python 3+, Node.js 16+, npm. SQLite (development), with support for PostgreSQL/MySQL in production.