Школьный проект - Банкомат JavaScript Node с возможностью базы данных
Цель: Продемонстрировать возможности технологии веб-приложений с использованием объектно-ориентированные практики.
Требования: Виртуальный банкомат должен иметь возможность выполнять следующие действия:
- Должен работать во всех современных браузерах (FF, Chrome, IE11 +)
- Должен использовать базу данных sqlite для отслеживания информации пользователей «о проверке счета» и «сберегательного счета».
- Предоставьте пользователю персональный идентификационный номер, называемый пин-кодом, который состоит из 4 цифр. Пользователь будет использовать этот номер для входа в виртуальный банкомат javascript. Нет необходимости в карте банкомата, номер пин-кода позволит пользователю войти в систему только с помощью пин-кода.
- Пользователь должен иметь возможность вносить, снимать средства, переводить между проверкой и сохранением счетов и выходить из системы
- Код должен иметь базовое тестирование ввода и обработку ошибок
- Пользователь не должен иметь возможность вводить буквы
- Пользователь не должен иметь возможность снимать отрицательные деньги
- пользователь не должен иметь возможность переводить / снимать больше, чем у него есть
- Поля ввода не принимают неожиданные символы
Что я сделал до сих пор... Создана atm()
функция для логики javascript и html-форма для внешнего интерфейса.
Я создал объект под названием account для учетной записи, в которой хранится пин-код, проверка баланса и сберегательного баланса, а такжеиспользовал console.log () для проверки пар имя / значение
Я разбил на отдельные функции особенности методов для обработки данных.
function verify_pin(pin)
function addCheckingFunds(deposit)
function withdrawCheckingFunds(withdraw)
function addSavingFunds(deposit)
function withdrawSavingFunds(withdraw)
function transferFunds(fromaccount, toaccount)
Основные сложности: Я в недоумении, я должен поместить объект соединения sqlite базы данных в каждую функцию, чтобы выполнить транзакцию или создать функцию только для этой цели.
Как мне реализовать AJAX после вывода pinпроверяется на предоставление другой формы, в которой есть пользовательский интерфейс для ввода и вывода средств на и с и с и с расчетных и сберегательных счетов.
Я передумываю над этим или есть более элегантный способ?
У меня VScode в качестве редактора, и я работаю в Windows 10, у меня установлены nodejs и sqlite в моей системе. В этом есть много движущихся частей, и учебники мало помогают.
Вот источник, который у меня есть:
atm.js
function atm(){
// create the account Object
let account = {
pinNumber: 1234,
checkingBalance: 0,
savingBalance: 0
};
// testing logs for object
//console.log(account.pinNumber);
//console.log(account.checkingBalance);
//console.log(account.savingBalance);
verify_pin(pin);
} // end of ATM function
// verify pin to login and make changes to account
function verify_pin(pin){
if (account.pinNumber === 1234)
{
console.log("logged in");
return true;
}
else
{
console.log("Incorrect Login, Try Again");
verify_pin();
}
}
// this function will be invoked to add funds to checking balance
// record transactions in sqlite
// return new balance
function addCheckingFunds(deposit) {
deposit = deposit;
let newCheckingBalance = account.checkingBalance + deposit;
return newCheckingBalance;
}
function withdrawCheckingFunds(withdraw) {
newCheckingBalance = account.checkingBalance - withdraw;
if (newCheckingBalance <= 0){
print("cannot proceed insufficient funds");
return false;
} else {
print("account updated with new funds");
return true;
}
return newCheckingBalance;
}
function addSavingFunds(deposit) {
newCheckingBalance = account.savingBalance + deposit;
return newSavingBalance;
}
function withdrawSavingFunds(withdraw) {
newSavingBalance = account.savingBalance - withdraw;
if (newSavingBalance <= 0){
print("cannot proceed insufficient funds");
return false;
} else {
print("account updated with new funds");
return true;
}
return newSavingBalance;
}
function transferFunds(fromaccount, toaccount) {
// this will enable the transfer of funds to and from the checking and savings account
}
atm_form.html
<html>
<div>
Your Pin is 1234
<form action="verify_pin.js" method="post">
<input type="text" name="pin" required>
<input type="submit" value="Submit Pin">
</form>
</div>
</html>
Я знаю, что должен быть лучший способ составить это, и когда яЯ в состоянии заставить это работать, я хотел бы преобразовать это в реагировать / реагировать нативно.
Заранее спасибо.
Я создал