Figma
Проект на стажировку в Авито на позицию стажер-фронтенд разработчик
Проект построен по логике трёхзвенной архитектуры: клиентская часть, сервер приложений, база-данных(здесь json-server - имитация хранилища). Проект писался в сжатые сроки(6 дней), поэтому местами имеются решения быстрого характера.
Приложение использует следующие порты:
Клиентская часть: 3000 порт
База данных: 3001 порт
Серверная часть: 5000 порт
- Клонировать проект с GitHub
- Установить все необходимые зависимости
- В общем package.json нажать на выполнение команды yarn go (Команда yarn start оставлена для запуска клиентской части)
- Также можно запустить проект из консоли, введя команду yarn go
- Клонировать проект с GitHub
- Установить все необходимые зависимости
- Пройтись по каждой папке проекта с каждой частью, прочитать описания в README.md, выполнить команды запуска (Предпочтительна цепочка БД->Сервер->Клиент)
Т.к. часто в присланном ТЗ были расплывчатые формулировки, а Тех. Поддержка, конкретных ограничений не ставила, то были приняты следующие решения.
- Были переработаны API с сайта HackerAPI, ибо при их использовании сервер получал большую нагрузку
- Число запросов без подгрузки частями составляло - 125 запросов в минуту, время, занятое данным процессом, состовляло 35 секунд
- При использовании подгрузки и параллельных процессах, число запросов не уменьшалось, но занятое время - 5 секунд, что тоже критично
- На основе вышеуказанных проблем, было принято решение написать свою серверную часть. Т.к. требования по ТЗ - использовать NodeJS(чистый или фреймворк - требования не было), то серверная часть написана на Express.js
- Для разделения обязанностей серверов, было принято решение, создать ещё один сервер, который будет хранить, отсылать и обрабатывать данные по запросам
Все подробности по каждой части написаны в собственных README.md