alpinebook's People
alpinebook's Issues
Кэширование rest-ответов
Реализовать кэширование rest-ответов для справочных данных. Кэшировать в mongo
Ошибка при смене пароля
При заведомо неверной попытке изменить пароль (инвалидный jwt или неверный новый пароль, я пока не разобрался) вываливается ошибка:
alpinebook-http-server | Traceback (most recent call last):
alpinebook-http-server |
alpinebook-http-server | File "/usr/src/alpinebook/server/http/pkg/utils/decorators/handle_exceptions.py", line 16, in wrapped
alpinebook-http-server | return await func(*positional, **named)
alpinebook-http-server |
alpinebook-http-server | File "/usr/src/alpinebook/server/http/pkg/app/routes.py", line 28, in change_user_password
alpinebook-http-server | jwt, user = await AuthHelper().get_jwt_and_user_from_request(request)
alpinebook-http-server |
alpinebook-http-server | TypeError: 'NoneType' object is not iterable
Кэширование данных по горам
На протяжении жизни приложения кэшировать данные по горам и маршрутам так же, как сейчас кэшируются данные по регионам и областям
Попробовать AoikLiveReload
Надо пощупать AoikLiveReload и в случае успеха применить
Попробовать pg_trgm
Необходимо построить рабочий индекс по названию горы в таблице mountains
. Пример
Описания маршрутов в виде вложений
Ответ на REST-запрос о маршруте должен содержать список URL'ов, по которым можно скачать PDF'ку с описанием.
Реализовать отображение и скачивание вложений в мобильном приложении
Использовать pg_hashids
Не показывать вне базы реальные ключи, использовать pg_hashids
Кэширование маршрутов
Необходимо сохранять полученные маршруты в мобильном приложении и не запрашивать заново. Сохранять по только на время работы приложения, об оффлайн хранении подумаем потом
Неверная ошибка при неработающем RabbitMQ
Возвратиться должна ошибка -32013
, но она почему-то перезатирается ошибкой -32015
alpinebook-http-server | INFO 27.01.2018 23:44:50 rest-http: REQUEST GET /reports/card.html from 172.19.0.1 PostmanRuntime/7.1.3
alpinebook-http-server | ARGS: {'alpinist_id': '1'}
alpinebook-http-server |
alpinebook-http-server | ERROR 27.01.2018 23:44:50 rabbitmq: Status: 200, JSON: {'error': {'code': -32013, 'message': 'Генерация отчётов недоступна'}}
alpinebook-http-server | ERROR 27.01.2018 23:44:50 rabbitmq: Status: 200, JSON: {'error': {'code': -32015, 'message': 'Неизвестный формат ответа от RabbitMQ'}}
alpinebook-http-server | INFO 27.01.2018 23:44:50 rest-http: RESPONSE application/json:
alpinebook-http-server | BODY: {"error": {"code": -32015, "message": "Неизвестный формат ответа от RabbitMQ"}}
Интеграция с Travis CI
Необходимо реализовать интеграцию с Travis CI и тестирование бэкенда на данной платформе
Просмотр маршрутов
Разработать форму для просмотра маршрутов в мобильном приложении и весь сопутствующий функционал на стороне бэкенда
Унификация справочников
Привести к одному виду поля id
и name
в json-ответах по справочникам
Относительные пути
Как только решу, как будут храниться статичные файлы маршрутов (картинки, вложения), так надо переделать передачу url
ов на клиента. Они должны быть относительными, чтобы клиент сам подставлял базовый адрес.
Это необходимо для того, чтобы система могла корректно работать на разных доменах (alpinebook.kz, alpinebook.com, some_domain_xxx.ngrok.io и т.д.)
react-native-vector-icons и RN 0.52-0.53
Перерисовка компонента Markdown
При переключении TabView
компонент Markdown
перерисовывается, что влечёт мерцание. Необходимо исправить.
Скорее всего это react-native-tab-view виноват, т.к. запрет рендеринга внутри компонента Markdown
не помогает: метод render()
всё равно вызывается
Результаты поиска
Использование PropTypes
Необходимо везде использовать PropTypes
Маршруты в PDF
Реализовать возможность сохранения маршрутов на телефон в формате PDF
Использование functools.wraps
Переделать декораторы с использованием functools.wraps
Отмена операции в TwoLevelDynamicList
Необходимо что-то придумать с отменой выбранной операции в TwoLevelDynamicList
Поиск по названию горы
На экране Регионы
, в заголовке, необходимо реализовать поиск по названию горы. Результаты поиска должны отобразиться на новом экране в виде трёхуровневого списка:
- Регион + область (элементы развёрнуты, серые и неактивные)
- Гора (элементы раскрывающиеся, свёрнутые)
- Маршруты (элементы активные, по нажатию переход к карточке маршрута)
- Гора (элементы раскрывающиеся, свёрнутые)
Текст в названии горы, совпавший с поисковым запросом, желательно выделить. Напримёр жёлтым цветом
Увеличивающиеся картинки
При просмотре маршрута необходимо по щелчку разворачивать картинку на весь экран
Возврат http-ошибок
Всё-таки при возникновении ошибок надо возвращать код, отличный от 200. Иначе софт, типа Postman'а, не считает http-ответ ошибочным и говорит, что тесты пройдены
Использование mobx-state-tree
Переделать текущую реализацию Stores на mobx-state-tree
Регистрация пользователей
Реализовать регистрацию пользователей. Надо как можно проще и с капчей
Попробовать Celery
Прототипы экранов "Горы" и "Маршруты"
Реализовать прототипы экранов для просмотра гор и маршрутов с возможностью поиска. Пока на фейковых данных
YAML формат конфигов
Переделать конфиги из python-файлов в yaml
Данные по маршрутам
Необходимо написать скрипты и выгрузить маршруты и их описания из всех доступных источников. Создать sql-скрипты для импорта этих данных в БД
Карточка альпиниста
Доработать отчёт Учётная карточка альпиниста согласно шаблону
Учетная карточка альпиниста, образец.doc.tar.gz
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.