Mobile Application
A Banking app developed for Android using Android Studio. This is a project to showcase my knowledge and practical skills in Android development with Java. The application follows the MVC architecture and adheres to proper programming conventions, including documentation, error/exception handling, thorough program structure, and memory efficiency.
- Login and Profile Creation: The app starts with a login screen where users can log in with an existing profile or create a new one. After logging in, users are taken to their dashboard, where they can create their first account if they are new users.
- Navigation Menu: A sliding menu from the left provides options such as Dashboard, Account Overview, Transactions, Deposits, Payments, Transfers, Profile Settings, and Logout.
- Login Activity: Hosts the fragments for logging in and creating a profile.
- Main Activity: Contains all the features of the app, including account overview, payments, transactions, etc. Activities serve as containers for different fragments and use Intents to pass data between them.
- Fragments are used to display different views to the user. Bundles are utilized to pass data between fragments.
- Multiple layout files ensure a clean and functional design. Layouts are used for fragments, menus, and custom dialogs.
- The application uses a consistent custom toolbar throughout, defined in the styles.xml file. The toolbar's title changes based on the current fragment, and it includes options for navigation and a menu.
- A DrawerLayout provides a sliding drawer menu from the left side of the screen, containing different features of the app. Each menu option navigates to a fragment or launches a dialog.
- Profile, Account, Payee, and Transaction information are stored in a local SQLite database, consisting of four tables with proper primary and foreign keys.
- Used to save and load the current profile's data efficiently. Data is initially loaded from the database and stored in Shared Preferences, updated and accessed across different activities using JSON.
- Custom array adapters display information in ListView and Spinner components, specifically for accounts and transaction types (deposits, transfers, and payments).
- The app follows Material Design guidelines, especially with icons, the DrawerLayout, custom toolbar, and 'Add' buttons in fragments.
- Resource files for strings, colors, drawables, and styles ensure best practices.
- The app runs on Android API 19 and up.
- Clone the repository:
git clone https://github.com/karankr2003/Banking-App.git
- Open the project in Android Studio.
- Build and run the app on an Android device or emulator with API 19 or higher.
- Launch the app on your Android device.
- Log in with an existing profile or create a new one.
- Navigate through the app using the sliding menu to access different features.
We welcome contributions to enhance the Banking-App project. If you would like to contribute, please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/YourFeature). - Commit your changes (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature/YourFeature). - Create a new Pull Request.