Нам нужны твои мозги

Хотите расти как разработчик и найти крутую работу? Не протирайте штаны — займитесь Open Source проектами. Так легче всего попасть в лучшие команды разработчиков и положить себе в резюме настоящий проект, вместо нелепых «примеров кода». Но найти подходящий проект для участия сложно. Начинаются лень и отговорки, а за ними — отсутствие профессионального роста, критики по-настоящему крутых программистов, уныние и застой.

На Cult of Martians мы собираем интересные задачи для современных веб-программистов. Можно выбрать подходящую по сложности, продолжительности и специализации. Задачи не выдуманы «из воздуха» — каждая решает насущную проблему, и решить ее можно через создание нового Open Source проекта или улучшение существующего. Решайте задачи, прокачивайтесь, присылайте решение на оценку. Лучших могут пригласить к себе на работу компании, программистам которых понравится ваше решение.

Фронт: Общие тесты для хранилища лога Logux

Для новичков, задача на неделю

Logux может хранить лог в разных хранилищах — в памяти или IndexedDB. На подходе SQL-хранилище.

Сейчас у каждого хранилища свои тесты — много тестов дублируются. Нужно создать общие тесты для всех хранилищ.

Польза: принять участие в разработке Logux; получить опыт тестирования и Promise.

  1. Форкнуть logux-core.
  2. Сгенерировать документацию — yarn run docs.
  3. Изучить API Store из docs/Store.html.
  4. Изучить текущие тесты test/memory-store.test.js.
  5. Форкнуть logux-client.
  6. Изучить текущие тесты test/indexed-store.test.js.
  7. Форкнуть logux-store-tests.
  8. Создать тесты для всего API Store внутри функции eachTest в index.js по примеру теста is a object.
  9. Удалить тест is a object.
  10. Подключить ваш форк logux-store-tests в форк logux-core — в package.json можно указывать версию из GitHub.
  11. Проверить, что MemoryStore проходит новые тесты. Почистить старые тесты от уже ненужных тестов API.
  12. Подключить ваш форк logux-store-tests в форк logux-client.
  13. Проверить, что IndexedStore проходит новые тесты. Почистить старые тесты от уже ненужных тестов API.
  14. Отправить Pull Request всех трех проектов.