Giter Site home page Giter Site logo

junior_test's Introduction

Тестовое задание для Junior Backend Developers

Привет!

Если вы видите это задание, значит вас заинтересовала вакансия самого крутого стартапа в России!

Это задание даст нам понимание ваших навыков backend, а также взаимодействие с движком Laravel.

Что от вас потребуется:

  1. забрать файлы с этого репозитория и развернуть проект на своей локальной машине (если не понимаете, о чем идет речь, просто установите Xampp)
  2. создать базу данных, чтобы сделать миграцию, и установить нужные зависимости composer и npm
  3. создать в данном репозитории свою ветку (обязательно)
  4. реализовать задачи из списка ниже
  5. сделать push своей ветки после завершения

Критерии успешного прохождения:

  • ваш проект развернут на локальной машине
  • вы поняли задачи и реализовали их
  • вы создали отдельную ветку и сделали push со всеми доработками

Инструкция по работе с проектом:

  • после того, как вы скачали файлы из репозитория к себе, их можно разместить в любой директории
  • для работы на локальной машине вам потребуется установить Xampp или его аналоги
  • чтобы работать с Laravel, вам нужно поставить Composer
  • как только у вас появился Composer, нужно выполнить следующие команды:
    composer update
    composer dump-autoload
  • проект развернут, далее вам нужно создать у себя базу данных (в phpmyadmin, который поставляется из Xampp),
  • данные о созданной базе нужно создать файл .env (копия .env.exapmle) и внести правки:
    DB_DATABASE - имя базы
    DB_USERNAME - имя пользователя (обычно root)
    DB_PASSWORD - пароль (если не задавали, оставить пустым)
  • после создания базы, вам нужно сделать миграцию следующей командой:
    php artisan migrate
  • необходимо также сгенерировать ключ приложения командой:
    php artisan key:generate
  • все готово, теперь осталось запустить наш проект:
    php artisan serve
  • если вы все сделали правильно, проект запущен на локалке и доступен по ссылке localhost:8000
  • для дальнейшних компиляций интерфейса вам потребуется пакет npm
  • после его установки, вам необходимо сделать:
    npm install
  • для последующей компиляции интерфейса используйте одну из следующих команд:
    npm run watch - компиляция происходит в реальном времени, файлы создаются после любого изменения (решение для локальной разработки)
    npm run dev - компиляция происходит один раз, создается несжатые файлы
    npm run prod - компиляция происходит один раз, создается сжатые файлы (решение для продакшна)

Подробности:

  • это урезанная страница уже рабочего проекта
  • задачи представляют собой похожий реальный кейс боевого проекта (над которым и нужно будет работать)
  • весь необходимый frontend уже написан, вам осталось дописать сервер для взаимодействия с ним
  • тестовое задание неоплачиваемое, т.к. функционал уже реализован на сайте (можете убедиться в этом сами, зайти на страницу peak.promo, зарегистрироваться как музыкант и добавить трек)

Задачи:

  • создать таблицу в базе данных (через миграцию), в которой нужно хранить данные о добавленных треках (title: название трека, author: исполнитель, album: название альбома, image: ссылка на обложку (изображение нужно хранить на сайте), url: ссылка на трек в тикток)
  • трек должен добавляться в базу post-запросом по адресу /api/v1/add_music (POST)
  • обязательно сохранять обложку трека на сайте (storage)
  • должна быть возможно предварительно получать информацию о треке из тиктока по адресу /api/v1/get_music (POST)
  • отдавать интерфейсу список добавленных треков из базы данных по адресу /api/v1/music_list (GET)

Как получить информацию из тиктока:

  • для получения информации необходимо исполнить curl к адресу https://parser.peak.promo
  • в curl должен отправляться post-запрос с полями: action (в данном случае = getMusic), url = ссылка из тиктока на звук
  • в полученном ответе будет содержаться нужная информация о треке

Вы можете обращаться к автору задания с какими-либо вопросами или за подсказками: на почту и в telegram

junior_test's People

Contributors

okatsumo avatar maxmarok avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.