Coder Social home page Coder Social logo

ingridnunes / didactic-bank-application Goto Github PK

View Code? Open in Web Editor NEW
38.0 1.0 17.0 1.11 MB

A simple banking system written in Java used to teach object-oriented programming and best coding practices.

License: GNU General Public License v3.0

Java 100.00%
java learning modularity

didactic-bank-application's Introduction

didactic-bank-application

A simple banking system written in Java used to teach object-oriented programming and best coding practices. It is a three-layered application, with: (i) a UI layer, with a command line interface and a graphical interface (in Java Swing); (ii) a business layer; and (iii) a data layer, implemented in memory.

The project contains the required libs so there is no need for students that are learnign object orientation to use any additional tool. The project is configured in Eclipse.

Features

  • Login
    • Branch: employees provide their user and password
    • ATM: clients provide their account number, branch number, and password
  • Logout
  • Create Account (only in branches)
    • New banck account associated with a branch and a client is created
    • A certain value informed as initial balance
  • Check Balance
    • System shows the account balance and current date and time
  • Statement
    • System shows all month operations in the month or selected period
      • Last month (one of the last 6 months)
      • Period (if no data is provided, last 30 days)
  • Deposit
    • Client provides the desired value and informs the number of the envolope to give the money
  • Withdrawal
    • Client provides the desired value
  • Transfer
    • Client provide the branch, target account, and the desired value

Packages

  • bank: application initialisation
  • bank.business: application services (interfaces)
  • bank.business.domain: domain classes
  • bank.business.impl: application services (implementation)
  • bank.data: application database (in memory)
  • bank.resources: text messages
  • bank.ui: user interface (top-level package)
  • bank.ui.graphic: graphical user interface
  • bank.ui.graphic.action: graphical user interface (actions)
  • bank.ui.text: textual user interface
  • bank.ui.text.command: textual user interface (commands)
  • bank.util: util classes

Running the Application

Execute the bank.Bank class, which contains the main method. It starts the application with the graphical user interface. To execute the application with the textual user interface, start the application with -t.

Additional Documentation

Observation: This application has been used within the INF01120 - Programming Construction Techniques course at the Informatics Institute of UFRGS. Students are required to understand and evolve its code. Classes taught before students are given this assignment: object-oriented programming, basic UML (class and sequence diagrams), and code coventions and best practices. The students already know (from previous courses) procedural programming (in C) and data structures.

didactic-bank-application's People

Contributors

ingridnunes avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.