Тестовое приложение, которое пытается симулировать кредитно-депозитный портфель банка.
Есть api сервер
, который является главным звеном, отвечающим за хранение, обработку и выдачу данных. Формат выдачи данных - JSON. Есть система ролей (защищенные endpoint-ы).
Есть приложение для клиентов банка
, а также для сотрудников банка
. Эти два веб-сайта используют общий api-сервер. REST API, все дела.
Все это размещается на одном digitalocean-вском vps-е с 512 МБ памяти. Там, собственно, и крутятся эти три приложения (спасибо pm2
). Каждое на своем порту. В качестве reverse-proxy используется nginx.
В качестве backend-а используется NodeJs. Подходит ли он для банковских приложений - спорный вопрос, однако имеем что имеем.
База данных - postgresql. Просто так.
Клиент - ох, тут по-разному. Сайт для клиентов сделан на бэме
. Почему? Просто так. Ну а сайт для работников банка был сделан в лучших традициях "чик-чик и в продакшн". Вина немного искупляется использованием сборщика и робкими потугами юзать ES6 фичи.
Из общей рутины можно выделить реализацию двухфакторной аутентификации для клиентов и json web token authentication для api. Соль, транзакции - все, как обычно.
Как всегда в студенческих проектах, больше половины функционала была сделана в спешке перед показом, поэтому изобилует багами. Но это все лирика. Никогда больше не использовать коллбэк-функции (по-крайней мере, там, где можно и без них), потому как сервер превратился в жутковатую смесь коллбэков и промисов, а это не комильфо. Промисы и генераторы - наше все. Далее. Использовать ES6. Пора уже. Начать использовать webpack
.
p.s. если вдруг что,
login - jacoren
password - waterchip
p.p.s. для авторизации на клиентском сайте, надо иметь приложение Google Authenticator на телефоне.