
Patrick B. answered 02/26/21
Math and computer tutor/teacher
I've done actual programming in the ATM/Kiosk industry for almost 4 years.
A project of this scope and magnitude cannot be done and posted here...
it is way too big and way too complicated
the application on the ATM side consisted of 85 source code files..
other apps had 285 or more files of source code!
Regarding the database aspect of it, there are DLLs and *.jar files
that must be installed and/or included in the project on top of the source code that
simply cannot be posted here. I even doubt that they can be sent via email.
We will have to transfer the files via Google drive or some sort
of github repository on a shared server.
What database management system do you have installed?
I have SQLite which does the job, but requires one *.jar file to
be linked. A simple batch file with 2-3 lines of DOS commands will
do the trick as far as a makefile is concerned. However, you will
have to install SQLite on your system.
At the very least, we will need the following tables:
Transaction table for logging sales
UserAccount for logon
Product
Inventory
Order and Order detail
perhaps a couple of other tables for
reporting and storing transaction statistics:
sales, returns, etc
Does each customer pay the same price for each product
or are there discretionary prices?
You also need to specify how much of the customer
data needs to be captured. On the ATM side, the
customer account # and pin # are sent as part of
the transaction data. The account # ONLY is stored in the
transaction record but not the pin #. THAT happens on
the SERVER side. For that reason a CUSTOMER table will
not be necessary unless you are required to implement
SERVER-side functionality.
Speaking of which, you did not specificially say that this
project must provide client server functionality. As posted,
you have stated a POS system which collects the products sold,
the prices, puts them in an order, sends them in a transaction,
and then on approval, updates inventory and other database
tables and prints a customer receipt or statement.
If you are to complete a server side which "APPROVES" the
transaction, then the entire project becomes entirely
way too complicated. I am assuming that is NOT the case!!!
But YOU must verify that my assumption is correct..
Finally, what reports and output are required?
Customer receipt statement is clearly one...
perhaps an daily settlement report which shows the # of
sales, returns etc and the cash flow..
potentially an inventory report
We need to discuss the requirements of this project
in greater detail. Here is my email in plain english,
so that Wyzant does not flag it.
patrick dot baldwin dot 1 at wyzant dot com
I patiently await your email, so that we can discuss
the answer to these questions and nail down the
specifics of the design. In the meantime, here is a small,
crude, rudimentary, simple database table design to get us started.
=================================================================
Transaction
--------------
seq#
date time stamp
account #
amount
type
approval code
Order Order detail
------ ---------------
order # order #
numItems barcode
total amount qty
date time stamp
Product Inventory
-------- ------------
barcode barcode
retail price qty
wholesale price
user account: account#, password
------------
Transxn_Summary
----------------
business date
# of sales
# of returns
# of reversals
# of voids
total amount in
total amount out
new balance forward
perhaps a configuration file

Patrick B.
No sir it did not... Try the follow emails: patrick dot baldwin dot 1 at wyzant dot com03/02/21

Patrick B.
I have to type the email out in english or else wyzant flags it... replace the dot with the actual dot; and the word AT with the actual AT symbol03/02/21

Patrick B.
Also pdy1970 at yahoo dot com03/02/21
Student S.
Hi sir I emailed you and I would like to confirm it being sent02/28/21