Вы помогаете крипто-стартапу сделать сайт-биржу, на котором можно обменивать валюту на токены этой компании (они называются "Неткоины") и передавать токены между пользователям. Ваша задача состоит в том, чтобы написать основную логику сайта.
Программа, которую требуется реализовать, состоит из двух частей:
Класс "Пользователь". Он должен уметь выполнять все основные функции:
-
Добавление нового пользователя
-
Авторизация
-
Добавление денег в личный кошелек
-
Конвертация валют
-
Перевод токенов другому пользователю
Также, требуется написать функцию, которая возвращает текущий курс между валютами и "Неткоин".
Курс меняется каждую секунду
Программа, которая выполняет следующий пользовательский сценарий:
- Добавление 2-х пользователей
- Зачисление одному из них на счет 500000 евро
- Перевод этих денег в токены "Неткоин".
- Передача этих токенов другому пользователю
- Установите NodeJS для своей операционной системы
- Склонируйте данный репозиторий
- Откройте терминал и перейдите в папку со склонированным репозиторием
- Выполните команду
npm install
- Выполните команду
npm i -g nodemon
- Чтобы запустить сервер для биржи, выполните команду
npm start
из терминала в папке с репозиторием. Убедитесь, что в консоли в увидели надписьApp is listening on port 1337
. - Перейдите по ссылке и убедитесь, что видите надпись Биржа "Неткоин"
- В папке с проектом лежит файл
./static/main.js
. Задание следует выполнять в нем.
Чтобы остановить работу сервера, нажмите комбинацию Ctrl+C
в терминале. После этого все данные будут утеряны
- В файле
main.js
объявите классProfile
- Реализуйте методы, которые требуются в 1 части задания
Пример правильного метода:
addMoney({ currency, amount }, callback) {
return ApiConnector.addMoney({ currency, amount }, (err, data) => {
console.log(`Adding ${amount} of ${currency} to ${this.username}`);
callback(err, data);
});
}
- В том же файле
main.js
начните реализацию главной функции, которая будет выполнять пользовательский сценарий - Не забудьте, что перед выполнением любых действий, кроме создания пользователя, ему необходимо авторизоваться
Пример:
function main(){
const Ivan = new Profile({
username: 'ivan',
name: { firstName: 'Ivan', lastName: 'Chernyshev' },
password: 'ivanspass',
});
// сначала создаем и авторизуем пользователя
// после того, как мы авторизовали пользователя, добавляем ему денег в кошелек
Ivan.addMoney({ currency: 'RUB', amount: 100 }, (err, data) => {
if (err) {
console.error('Error during adding money to Ivan');
} else {
console.log(`Added 500000 euros to Ivan`);
});
}
main();
Для облегчения задачи, можно воспользоваться классом ApiConnector, который умеет делать все необходимые запросы к API биржи. Код класса находится в файле api-connector.js
- Чтобы выключить приложение, остановите процесс, запущенный при помощи команды
npm start
нажатием комбинации клавишCtrl + C
- Перейдите по ссылке и убедитесь, что не видите надпись Биржа "Неткоин"
Исходный код дипломной работы нужно разместить на GitHub.
Что следует делать, чтобы все получилось:
- Попробовать найти ответ сначала самому в интернете. Ведь, именно это скилл поиска ответов пригодится тебе на первой работе. И только после этого спрашивать дипломного руководителя
- В одном вопросе должна быть заложена одна проблема
- По возможности, прикреплять к вопросу скриншоты и стрелочкой показывать где не получается. Программу для этого можно скачать здесь https://app.prntscr.com/ru/
- По возможности, задавать вопросы в комментариях к коду.
- Начинать работу над дипломом как можно раньше! Чтобы было больше времени на правки.
- Делать диплом по-частям, а не все сразу. Иначе, есть шанс, что нужно будет все переделывать :)
Что следует делать, чтобы ничего не получилось:
- Писать вопросы вида “Ничего не работает. Не запускается. Всё сломалось.”
- Откладывать диплом на потом.
- Ждать ответ на свой вопрос моментально. Дипломные руководители - работающие разработчики, которые занимаются, кроме преподавания, своими проектами. Их время ограничено, поэтому постарайтесь задавать правильные вопросы, чтобы получать быстрые ответы!