Как реализовать виртуальный банкомат JavaScript, который проверяет данный пин-код, с обнаружением ошибок, с базой данных для записи транзакций? - PullRequest
0 голосов
/ 17 октября 2019

Школьный проект - Банкомат 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>

Я знаю, что должен быть лучший способ составить это, и когда яЯ в состоянии заставить это работать, я хотел бы преобразовать это в реагировать / реагировать нативно.

Заранее спасибо.

Я создал

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...