1.4 Язык TypeScript
TypeScript — это расширенная версия JavaScript, главной целью которого является упрощение разработки крупных JS-приложений. Этот язык добавляет много новых принципов — классы, дженерики, интерфейсы, статические типы, что позволяет разработчикам использовать разные инструменты, такие как статический анализатор или рефакторинг кода.
Код, написанный на TypeScript, не выполнится напрямую в браузере. Поэтому TS — не самостоятельный язык, а именно языковая надстройка над JS. Для его работы нужен дополнительный этап — транспиляция, когда программное обеспечение преобразует написанный на TypeScript код в «чистый» JavaScript.
Отличия TypeScript от JavaScript - строгая типизация. Данные в JS хранятся в переменных и имеют какой-либо тип: строка, число, логическое значение. В JavaScript нестрогая, динамическая типизация. Это значит, что одной переменной можно присвоить сначала числовое значение, а потом, например, текстовое [4].
1.5 Node.js
Node или Node.js — программная платформа, основанная на движке V8 (транслирующем JavaScript в машинный код), превращающая JavaScript из узкоспециализированного языка в язык общего назначения. Node.js добавляет возможность JavaScript взаимодействовать с устройствами вводавывода через свой API, написанный на C++, подключать другие внешние библиотеки, написанные на разных языках, обеспечивая вызовы к ним из JavaScript-кода. Node.js применяется преимущественно на сервере, выполняя роль веб-сервера, но есть возможность разрабатывать на Node.js и десктопные оконные приложения (при помощи NW.js, AppJS или Electron для Linux, Windows и macOS) и даже программировать микроконтроллеры (например, tessel, low.js и espruino). В основе Node.js лежит событийноориентированное и асинхронное (или реактивное) программирование с неблокирующим вводом/выводом.
2 Разработка программного обеспечения
2.1 Разработка базовых функций
Главной задачей является создание системы, способной реализовать следующий набор функций:
регистрация;
вход-выход в личный кабинет;
редактирование/удаление профиля;
доска почета (рейтинг по критерию);
лента новостей, редактирование новости;
систему формирования отчетной документации на базе шаблонных форм.
Необходимая для пользователя информация будет хранится в базе данных в соответствии с рисунком 2.1.
Схема базы данных разрабатываемой системы формирования отчетной документации на базе шаблонных форм выглядит в соответствии с рисунком 2.2.
Описание системы запросов представлено в таблице 2.1.
Таблица 2.1 – Описание системы запросов
URL-адрес |
Метод |
Формат |
/register |
POST |
fio, email, password |
/login |
POST |
email, password |
/logout |
GET |
token |
/add_task |
POST |
token, name, info, userId |
/news |
GET |
token |
/tasks |
GET |
token |
/user/sort |
GET |
token |
/user /delete/:id |
delete |
id, token |
/user /update |
put |
token, fio, password |
/user /update_news/:id |
put |
token, name, info, id |
/user /add_news |
post |
token, name info, userId |
/user /news/:id |
GET |
token |
/user/tasks |
GET |
token, id |