Приложение, помогает вести учет долгов между друзьями. Написано на Angular + serverless nodejs.
Деплоится по мержу в мастер:
- https://debt-balancer-sigma-five.now.sh/ - приложение
- https://debt-balancer-sigma-five.now.sh/api - json rpc api, пример post запроса:
{
"method": "getUserInfo",
"id": 123,
"jsonrpc": "2.0",
"params": {
"id": "glebkaf"
}
}
- Доделать экраны приложения
- "Добавить покупку"
- "Погасить долг"
- "Посмотреть инфу"
- Получать список юзеров с сервера
- Кешировать поток users$, чтобы не грузить список юзеров каждый раз заново
- Поправить отображение успешного сообщения в случае ошибок api
- Закрыть аккаунты паролем, чтобы случайно промахнуться аккаунтом при авторизации
- Сделать апи и сам экран "История транзакций", на котором будут отображаться все покупки и погашения долгов
- Использовать имена пользователей вместо их id везде на клиенте
- На экране "Погасить долг" подставлять в поле "количество" актуальный долг
- На странице детализации
- На экране балансов есть кнопочка напомнить про долг, которая отправляет должнику в телеграм сообщение
- Cделать PWA
- Сделать уведомление в телеграм о добавлении покупки\погашении долга
- Сделать перераспределение долгов, чтобы минимизировать количество транзитивных долгов: Г -> A -> И заменяем на Г -> И
- Добавить dev окружение для API (отдельная бд или отдельная коллекция)
yarn start
- запускает тестовый now.sh сервер с собранным ангуляр приложением и апи, сам пересобирается при изменении исходников, но ангуляр приложение ребилдится с 0, поэтому в деве клиента, лучше юзать yarn serve.yarn serve
- запускает вебпак дев сервер с ангуляр приложениемyarn test:api
- запускает тесты апишкиyarn test:ng
- запускает тесты фронтенд приложения
Для локальной разработки нужно в .env файле указать параметры подключения к монге, в формате:
MONGODB_URI=mongodb+srv://user:password@your-base.mongodb.net/test?retryWrites=true&w=majority
В монге должна быть коллекциия users:
users:
[{
id: string,
balances: {
[userId]: Number
}
}]