Skip to content

Er1tain/service-jetruby-api-github

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Тестовое задание на Node.js-разработчика в JetRuby

Требования к сервису

  1. Проверка API GitHub каждые X минут и извлечение актуальных репозиториев.
  2. Репозитории должны сохраняться в БД.
  3. Сервис должен предоставлять публичный API с 3мя эндпоинтами:
    • Получение репозитория по имени или id.
    • Получить все репозитории
    • Хранить информацию о самых популярных репозиториях и получать информацию о них.
    • Синхронизация с API GitHub. В случае принудительной синхронизации таймер(см. 1 пункт) сбрасывается до 0.

Стек технологий

Javascript: node.js/express.js/react.js, MongoDB NoSQL позволяет хранить данные, которые неоднородны по своей структуре. Нет необходимости придерживаться одной схемы хранения данных, следовательно для сущностей одного типа(в данном случае репозитории) можно хранить разные наборы параметров.

Запуск проекта

Через npm

  1. В корневой директории проекта выполнить команду: npm install
  2. Перейти в ./api и выполнить npm install
  3. Аналогично для ./client
  4. Запустить проект из корневой директории с помощью npm start и можно тестировать MVP P.S. В системе должно быть запущено: mongodb://127.0.0.1:27017/

Через docker-compose

  1. cd ./service-jetruby-api-github
  2. docker-compose up

Замечания экспертов

Эксперт: Не хватает структурированности: Сервисы, контроллеры, роутеры

About

Express.js sens request to API github. React this is webapp what visualization given data

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages