The Bank App API provides backend functionality for managing user accounts, transactions, authentication, and registration in a banking application.
- User Authentication: Allows users to log in securely using their email and password.
- User Registration: Enables new users to create accounts by providing their username, email, and password.
- User Profile Management: Provides endpoints for retrieving, updating, and deleting user profiles.
- Account Management: Allows users to view their account details, create new accounts, and update or delete existing accounts.
- Transaction Management: Supports transaction initiation, retrieval of transaction details, and updates to transaction records.
/login
: Renders the login page and handles user login requests./logout
: Logs out the currently authenticated user.
/register
: Renders the registration page and handles user registration requests.
/users/me
: Retrieves the authenticated user's profile information./users/<user_id>
:PUT
: Updates the authenticated user's profile.DELETE
: Deletes the authenticated user's profile.
/accounts
:GET
: Retrieves the user's accounts.POST
: Creates a new account.
/accounts/<account_id>
:GET
: Retrieves details of a specific account.PUT
: Updates details of a specific account.DELETE
: Deletes a specific account.
/transactions
:GET
: Retrieves transaction details.POST
: Initiates a new transaction.
/transactions/<transaction_id>
:PUT
: Updates details of a specific transaction.
- Authentication is required for certain routes using Flask-Login to manage user sessions.
- Passwords are hashed using bcrypt for enhanced security.
- Proper error handling is implemented to provide informative responses for various scenarios.