An open API service indexing awesome lists of open source software.

https://github.com/dmko1610/d2c_shop

Test task for a company D2C
https://github.com/dmko1610/d2c_shop

jest mobx react-native react-native-paper testing-library

Last synced: 6 days ago
JSON representation

Test task for a company D2C

Awesome Lists containing this project

README

          

- [x] добавлять и удалять товары в корзину (количество позиций в списке товаров большое - 1000 шт.)
- [x] добавлять опции заказа (оставить у двери, позвонить по доставке и тд. - небольшой фиксированный список опций)
- [x] при любом изменении корзины (добавление/удаление товара или опции) нужно отправлять события на бэкенд (сбор аналитики). В событии должен фигурировать полный перечень добавленных товаров и опций. Приложение должно фиксировать факт успешной или неуспешной отправки события.
- [x] перед окончательной отправкой формы заказа требуется показать пользователю список выбранных товаров, опций, общую сумму заказа и запросить подтверждение.
- [x] минимальная сумма покупки - 1000р.
- [x] обработка возможных ошибок со стороны бэкенда сервиса

_______________
Проект запускается и работает на обоих платформах.
Также дополнительно проверял на реальном андроиде.
Юнит тесты тоже работают, есть ворнинги, но их решил не фиксить.

По поводу обработки ошибок с "бекенда", приложение в 50% случаев успешно переходит на последний экран, но есть шанс получить ошибку 3-ёх видов -
закончилось, ошибка сервера и непредвиденная ошибка сервиса. Тестировать сильно не стал.

Не стал заморачиваться с локализацией и темизацией, использовал базовую стилизацию из материал.

`npm i` - install modules.
`cd ios && bundle install` - install gems
`bundle exec pod install` - (in ios directory) install pods
`cd ..` - go back
`npm run start` - start packager.
`npm run ios/android` - build and install app in development mode.

_________________
#### _я использую [asdf](https://asdf-vm.com/guide/getting-started.html) для nodejs и ruby, поэтому их версии указаны в файле .tool-versions_