https://github.com/relativelie/test_task
https://github.com/relativelie/test_task
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/relativelie/test_task
- Owner: Relativelie
- Created: 2022-05-21T09:13:57.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2022-05-25T08:45:03.000Z (about 4 years ago)
- Last Synced: 2026-01-03T14:32:12.256Z (5 months ago)
- Language: TypeScript
- Homepage: https://relativelie.github.io/test_task/
- Size: 6.21 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# test_task
## first task
1. Перейти в папку, содержащую скрипт:
``cd scripts/firstTask ``
2. Установить зависимости:
``npm install ``
3. Запустить скрипт:
``node firstTask.js ``
* Описание решения: рекурсивно находим все текстовые файлы в корневой папке, сортируем их по имени и далее с помощью конкатенации склеиваем сожержимое папок в отдельный файл
## second task
1. Перейти в папку, содержащую проект:
``cd scripts/secondTask ``
2. Установить зависимости:
``npm install ``
3. Создать у себя на компьютере таблицу, используя команду в файле database.sql:
4. Заполнить необходимые поля в файле db.js
5. Запустить сервер:
``npm start``
6. Запустить файл на стороне клиента index.html
* Описание решения: на стороне сервера использовала node.js + express. Написала три метода апи: удаление и создание студента, получение всех студентов. На стороне клиента создала один общий класс, содержащий в себе необходимые для отображения данные. Далее на основании этого класса создала экземпляры для каждого метода АПИ и далее отображала на странице элементы, используя эти экземпляры и методы: requestfunctions - отвечает непосредственно за запросы и отображение ошибок/статуса результата отправки запроса, showSelectedOption - отвечает за отображение остальных элементов на странице
## third task
1. Перейти в папку, содержащую проект:
``cd scripts/third-task ``
2. Установить зависимости:
``npm install ``
3. Зайти на страницу https://cors-anywhere.herokuapp.com/corsdemo разблокировать доступ к демо-серверу. Иначе при попытке дсотучатсья до АПИ будет ошибка CORS
4. Запустить проект
``npm start``
* Описание: для реализации приложения был использован react+typescript+redux. Выделила три больших компонента(верхнее менб, сайдбар и окно показа), которые содержат несколько маленьких компонентов. В редакс части выделила в отдельные блоки - поиск, фильтрацию, отправку запроса и сохранение результата запроса в отдельный блок.
* Для корректной работы демо выполнить пункт 3 выше
* Online demo: https://relativelie.github.io/test_task/
* Сортировка по дате работает в режиме: Фильтр не включен - сортировать по убыванию - сортировать по возрастанию - Фильтр не включен и тд