/Group-32-Mobile-Bank-App-development-

This is a mobile banking application developed for Android devices using Java. The application provides users with the ability to perform various banking operations and manage their accounts conveniently from their mobile devices.

Primary LanguageJava

DCIT 202 ANDROID

1000_F_568833577_k5luNNetlu3hhAaTLmjNXjAsszNq8k8u

Overview

This is a mobile banking application developed for Android devices using Java. The application provides users with the ability to perform various banking operations and manage their accounts conveniently from their mobile devices.

Features

The mobile banking application offers the following features:

  1. User Authentication

    • Users can create an account and log in securely using their credentials.
    • Passwords are securely stored using encryption techniques.
  2. Account Management

    • Users can view their account balance and transaction history.
    • Users can transfer funds between their own accounts or to other users.
    • Users can manage their beneficiary list for easy fund transfers.
    • Users can request account statements and other account-related information.
  3. Bill Payment

    • Users can pay bills for various services such as electricity, water, etc.
    • Users can add and manage billers for quick bill payments.
  4. Mobile Recharge

    • Users can recharge their mobile phone balance.
    • Users can save their favorite mobile numbers for quick recharge.
  5. Notifications

    • Users receive notifications for successful transactions, bill payments, and other important account-related updates.
  6. Security

    • The application ensures secure communication using encryption protocols (e.g., HTTPS).
    • Appropriate user authentication measures are implemented to prevent unauthorized access.
    • Data is securely stored on the device and server.

Technologies Used

  • Java: Programming language used for Android application development.
  • Android Studio: Integrated Development Environment (IDE) for Android development.
  • XML: Markup language used for designing user interfaces.
  • SQLite: Database used for storing and managing user data.
  • Retrofit: HTTP client library for making API requests to the server.
  • JSON: Data interchange format used for API communication.
  • Gradle: Build system used for building and managing dependencies.
  • Parse database
  • Retrofit
  • Fragment
  • OOP
  • State Design Pattern

This app features:

Send money to another account
Send money between own accounts
Creating a bank account
Creation of credit card
Seeing the history of transactions
Change of loan amount and rate according to profession group
Loan payment
Purchase of top 25 cryptocurrencies at Current values
Storing the purchased crypto money (in this way, you can see the increase or decrease in value when you buy crypto money imaginary)
Adding and paying the invoice
Change user account settings
Admin panel

Getting Started

To run the mobile banking application locally, follow these steps:

  1. Clone the repository:

    git clone https://github.com/your-username/mobile-banking-app.git
  2. Open the project in Android Studio.

  3. Build and run the application on an Android emulator or a physical device.

Contributing

Contributions to the mobile banking application are welcome! If you would like to contribute, please follow these steps:

  1. Fork the repository.

  2. Create a new branch:

    git checkout -b feature/your-feature-name
  3. Make your changes and commit them:

    git commit -m "Add your commit message"
  4. Push your changes to your forked repository:

    git push origin feature/your-feature-name
  5. Open a pull request to the main repository, describing your changes and the purpose of the pull request.

License

This mobile banking application is open-source and is licensed under the MIT License

Collaborators

  Opoku Boakye-10947727
  Elisha-10940920
  Paul-10960583
  Nathaniel-10970773
  Presely-10966026
  Gilbert-10978730
  Phina--10961638
  Bertram-10979761
  Gorden----

Roles of the Collaborators

  1. Opoku Boakye-10947727

    • Role: Project Manager
    • Responsibilities:
      • Overall project coordination and management.
      • Task delegation and tracking.
      • Ensuring project milestones and deadlines are met.
      • Communication with team members and stakeholders.
  2. Elisha-10940920

    • Role: Lead Android Developer
    • Responsibilities:
      • Designing and implementing the Android application architecture.
      • Developing core features and functionality.
      • Collaborating with other developers to integrate APIs and databases.
      • Ensuring code quality and adherence to best practices.
  3. Paul-10960583

    • Role: Backend Developer
    • Responsibilities:
      • Designing and developing the server-side APIs and database.
      • Implementing security measures for data storage and communication.
      • Integrating payment gateways and external services.
      • Collaborating with the frontend team for data exchange.
  4. Nathaniel-10970773

    • Role: UI/UX Designer
    • Responsibilities:
      • Designing the user interface and user experience of the mobile application.
      • Creating wireframes, prototypes, and visual designs.
      • Collaborating with the frontend developers to ensure UI implementation matches the design.
      • Conducting user research and testing to gather feedback for iterative design improvements.
  5. Presely-10966026

    • Role: Frontend Developer
    • Responsibilities:
      • Implementing UI layouts and views based on the design specifications.
      • Handling user interactions and input validation.
      • Collaborating with backend developers for data exchange and integration.
      • Ensuring responsiveness and compatibility across different devices and screen sizes.
  6. Gilbert-10978730

    • Role: Database Administrator
    • Responsibilities:
      • Designing and setting up the database schema.
      • Managing and optimizing database performance.
      • Implementing data backup and recovery procedures.
      • Ensuring data integrity and security.
  7. Phina--10961638

    • Role: Quality Assurance (QA) Tester
    • Responsibilities:
      • Creating and executing test cases to ensure application functionality and reliability.
      • Identifying and reporting bugs, issues, and usability concerns.
      • Collaborating with developers to resolve and verify bug fixes.
      • Conducting regression testing and performance testing.
  8. Bertram-10979761

    • Role: Documentation Specialist
    • Responsibilities:
      • Creating and maintaining project documentation, including requirements, design documents, and user guides.
      • Writing and updating the project's README file and documentation on version control platforms.
      • Assisting with creating API documentation and technical documentation for developers.
      • Ensuring documentation is accurate, up-to-date, and accessible to the team and stakeholders.
  9. Gorden----

    • Role: Deployment and DevOps Engineer
    • Responsibilities:
      • Setting up the deployment infrastructure for the mobile banking application.
      • Configuring continuous integration and delivery pipelines.
      • Managing and automating the deployment process.
      • Monitoring application performance and scalability.

Contact

For any inquiries or feedback, please contact the development team at kaopoku-boakye@st.ug.edu.gh

Feel free to update and customize this README file according to your specific project requirements and add relevant sections such as architecture, installation instructions, screenshots, etc.