Приложение Notion полюбилось многим, оно позволяет оптимизировать рабочий процесс, работать с документами, планировать задачи, синхронизировать данные между устройствами.
Repl.it -это инструмент для совместного редактирования кода в реальном времени. Можно выбрать несколько языков: JavaScript, Python, Go и выполнять код прямо в браузере. Очень полезно для быстрых демонстраций и код-интервью.
Как запускать и выполнять код (server-side) в браузере (client-side).
Считывать входные данные (исходный код) и выводить на экран результат выполнения.
Как создавать файлы и папки в вебе и сохранять результаты.
Как подсвечивать синтаксис кода.
3. Клон Google Photos
Google Photos это сервис для хранения и обмена фоток.
Любое современное приложение по работе с фотографиями умеет выполнять базовые функции: загружать, обрезать и пр. Люди хотят создавать свои аватарки и делиться фотками котиков, поэтому надо уметь работать с изображениями.
Как создавать адаптивные изображения на телефонах, планшетах, ноутбуках и даже на гигантских экранах телевизоров.
Как обрабатывать загрузку изображений, особенно больших изображений (>1МБ) и массовых загрузок.
Обработка файлов изображений, обрезка и изменение размера фотографий для миниатюр или при открытии галереи.
באָנוס: как хранить изображения в облаке или локальной базе данных.
4. Клон Gifsky
גיפסקי конвертирует видео в GIF используя функцииפּנגקוואַנט для эффективных палитр кросс-кадров и временного сглаживания. В результате получается гифка с тысячами цветов на кадр.
Layer — это сообщество, где каждый может нарисовать пиксель на общей «доске». Оригинальная идея родилась на Reddit. Сообщество r/Layer — это метафора совместного творчества, что каждый может быть творцом и вносить вклад в общее дело.
Чему вы научитесь создавай свой проект Layer:
Как работают JavaScript canvas, умение оперировать canvas — критически важный навык во многих приложениях.
Как координировать user permissions (пользовательские разрешения). Каждый пользователь может рисовать один пиксель раз в 15 минут и при этом не надо логиниться.
Squoosh — это приложение по сжатию изображений с множеством продвинутых опций.
Гифка на 20 мб
Создавая свою версию Squoosh вы научитесь:
Как работать с размерами изображений
Освоите основы Drag‘n’Drop API
Разберетесь как работают API и еvent listeners
Как загружать и экспортировать файлы
באַמערקונג: компрессор изображений локален. Не обязательно отсылать дополнительные данные на сервер. Можно иметь компрессор у себя, а можно на сервер, на ваш выбор.
קאַלקולאַטאָר
Да ладно? Серьезно? Калькулятор? Да, именно, калькулятор. Понимать основы математических операций и как они работают совместно — критически важный навык для упрощения ваших приложений. Рано или поздно вам придется разбираться с числами и чем раньше, тем лучше.
Каждый пользовался поисковиком, так почему бы не создать собственный? Краулеры нужны чтобы искать информацию. Ими пользуются все каждый день и спрос со времменм на эту технологию и специалистов будет только расти.
Поисковик Гугла
Чему научитесь, создавая свой поисковик:
Как работают краулеры
Как индексировать сайты и как их ранжировать по рейтингу и репутации
Как хранить индексированные сайты в базе данных и как работать с базой данных
Музыкальный плеер (Spotify, Apple Music)
Все слушают музыку — это просто неотьемлимая часть нашей жизни. Давайте создадим музыкальный плеер, чтобы лучше понять, как работает базовая механика современной платформы потоковой передачи музыки.
ספּאָטיפי
Чему научитесь, создавая свою музыкальную стриминговую платформу:
Как работать с API. использовать API от Spotify или Apple Music
Как проигрывать, останавливать или перематывать на следующию/предыдущую композицию
Как менять громкость
Как управлять маршрутизацией пользователей и историей браузера
פֿילם זוך אַפּ ניצן רעאַקט (מיט כוקס)
דער ערשטער זאַך איר קען אָנהייבן מיט איז צו שאַפֿן אַ פֿילם זוכן אַפּ ניצן React. ונטער איז אַ בילד פון ווי די לעצט אַפּלאַקיישאַן וועט קוקן ווי:
וואָס איך טאַקע ליב וועגן דעם אַלע-ענקאַמפּאַסינג פּרויעקט איז אַז איר טאָן ניט לערנען זאכן אין אפגעזונדערטקייט. אַנשטאָט, איר לערנען די גאנצע אַנטוויקלונג פּראָצעס, פון פּלאַן צו לעצט דיפּלוימאַנט.
צו-טאָן אַפּלאַקיישאַן ניצן Svelte
סוועלטע איז ווי די נייַע קינד אויף די קאָמפּאָנענט-באזירט צוגאַנג - אין מינדסטער ענלעך צו React, Vue און Angular. און דאָס איז איינער פון די האָטטעסט נייַע פּראָדוקטן פֿאַר 2020.
אין אַדישאַן צו באַקומען דערפאַרונג אין בויען אַ אַפּלאַקיישאַן, איר וועט לערנען:
ווי צו אַרבעטן מיט די API
ווי צו נוצן געאָלאָקאַטיאָן
מאַכן דיין אַפּלאַקיישאַן מער דינאַמיש דורך אַדינג טעקסט אַרייַנשרייַב. אין עס, יוזערז קענען אַרייַן זייער אָרט צו קאָנטראָלירן די וועטער אין אַ ספּעציפיש אָרט.
איר וועט דאַרפֿן אַ API. צו באַקומען וועטער דאַטן, נוצן די OpenWeather API. מער אינפֿאָרמאַציע וועגן די OpenWeather API דאָ.
Окно чата
מייַן שמועס פֿענצטער אין קאַמף, עפענען אין צוויי בלעטערער טאַבס
שאפן אַ שמועס פֿענצטער איז די שליימעסדיק וועג צו אָנהייבן מיט סאַקאַץ. די ברירה פון טעק סטאַקס איז ריזיק. Node.js, פֿאַר בייַשפּיל, איז גאנץ.
איר וועט לערנען ווי סאַקאַץ אַרבעט און ווי צו ינסטרומענט זיי. דאָס איז דער הויפּט מייַלע פון דעם פּרויעקט.
איר וועט פֿאַרשטיין ווי ביידע וועב אַפּלאַקיישאַנז און געבוירן אַפּלאַקיישאַנז אַרבעט, וואָס וועט באַזונדער איר פון די גרוי מאַסע.
וואָס מיר וועלן לערנען:
וועב סאַקאַץ (רעגע אַרטיקלען)
ווי געבוירן אַפּלאַקיישאַנז אַרבעט.
ווי טעמפּלאַטעס אַרבעט אין געבוירן אַפּלאַקיישאַנז.
אָרגאַנייזינג בעטן פּראַסעסינג רוץ אין געבוירן אַפּלאַקיישאַנז.
טעקסט רעדאַקטאָר
Цель текстового редактора — уменьшить усилия пользователей, пытающихся преобразовать их форматирование как валидную разметку HTML. Хороший текстовый редактор позволяет пользователям форматировать текст по-разному.
רעדדיט — это агрегация социальных новостей, рейтинг веб-контента и сайт для обсуждений.
Reddit — занимает большую часть моего времени, но я продолжаю зависать на нем. Создание клона Reddit — это эффективный способ изучения программирования (при одновременном просмотре Reddit).
Reddit предоставляет вам очень богатый אַפּי. Не упускайте какие-либо функции и не делайте как попало. В реальном мире с клиентами и покупателями, вы не сможете работать как попало, или вы быстро потеряете работу.
Умные клиенты сразу же догадаются, что работа выполняется плохо, и найдут кого-то другого.
Если вы пишите код на Javascript, скорее всего, вы используете менеджер пакетов. Менеджер пакетов позволяет повторно использовать существующий код, который написали и опубликовали другие люди.
Понимание полного цикла разработки пакета даст очень хороший опыт. Есть много вещей, которые вам нужно знать при публикации кода. Вам нужно подумать о безопасности, семантическом управлении версиями, масштабируемости, соглашениях об именах и обслуживании.
Пакет может быть любым. Если у вас нет идеи, создайте свой собственный Lodash и опубликуйте его.
freeCodeCamp — это некоммерческая организация. Она состоит из интерактивной обучающей веб-платформы, онлайн-форума сообщества, чатов, публикаций Medium и местных организаций, которые намереваются сделать доступным для всех изучение веб-разработки.
Вы будете более чем квалифицированы для своей первой работы, если вам удастся завершить весь курс.
Создайте HTTP-сервер с нуля
Протокол HTTP является одним из основных протоколов, по которым контент попадает в Интернете. HTTP-серверы используются для обслуживания статического контента, такого как HTML, CSS и JS.
Возможность реализовать протокол HTTP с нуля расширит ваши знания о том, как все взаимодействует.
Например, если вы используете NodeJs, то вы знаете что Express предоставляет HTTP-сервер.
Для справки, посмотрите, сможете ли вы:
Настроить сервер без использования каких-либо библиотек
Сервер должен обслуживать содержимое HTML, CSS и JS.
Внедрение маршрутизатора с нуля
Следить за изменениями и обновлять сервер
Если вы не знаете с чего, воспользуйтесь Go lang и попытайтесь создать HTTP-сервер קאַדי с нуля.
Десктопное приложение для заметок
Мы все делаем заметки, не так ли?
Давайте создадим приложение для заметок. Приложению необходимо сохранять заметки и синхронизировать их с базой данных. Создайте нативное приложение с помощью Electron, Swift или чего-то еще, что вам нравится, и что подходит для вашей системы.
Не стесняйтесь сочетать это с первым челленджом(текстовый редактор).
В качестве бонуса попробуйте синхронизировать десктопную версию с веб-версией.
Подкасты (клон Overcast)
Кто не слушает подкасты?
Создайте веб-приложение со следующими функциями:
Завести аккаунт
Поиск подкастов
Оценивать и подписываться на подкасты
Остановка и воспроизведение, изменение скорости, функции вперед и назад на 30 секунд.
В качестве отправной точки попробуйте использовать iTunes API. Если вы знаете какие-либо другие ресурсы, напишите в комментариях.