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

https://github.com/relativelie/test_task


https://github.com/relativelie/test_task

Last synced: 2 months ago
JSON representation

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/
* Сортировка по дате работает в режиме: Фильтр не включен - сортировать по убыванию - сортировать по возрастанию - Фильтр не включен и тд