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
- Host: GitHub
- URL: https://github.com/dmko1610/d2c_shop
- Owner: dmko1610
- Created: 2025-04-16T12:41:42.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-05-15T14:58:46.000Z (about 1 year ago)
- Last Synced: 2025-05-15T16:23:31.846Z (about 1 year ago)
- Topics: jest, mobx, react-native, react-native-paper, testing-library
- Language: TypeScript
- Homepage:
- Size: 631 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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_