ProHoster > блог > интернет вести > Преден доџо: проекти за обука на вештини за развивачи (5 нови + 43 стари)
Преден доџо: проекти за обука на вештини за развивачи (5 нови + 43 стари)
1. Поим клон
Многумина ја сакаат апликацијата Notion, таа ви овозможува да го оптимизирате работниот тек, да работите со документи, да закажувате задачи и да ги синхронизирате податоците помеѓу уредите.
Repl.it е алатка за заедничко уредување на кодови во реално време. Можете да изберете неколку јазици: JavaScript, Python, Go и да го извршите кодот директно во прелистувачот. Многу корисно за брзи демо и интервјуа со кодови.
Како да извршите и извршите код (страна на серверот) во прелистувачот (страна на клиентот).
Прочитајте ги влезните податоци (изворниот код) и прикажете го резултатот од извршувањето.
Како да креирате датотеки и папки на веб и да ги зачувате резултатите.
Како да се истакне синтаксата на кодот.
3. Клонирање на Google Photos
Google Photos е услуга за складирање и споделување фотографии.
Секоја модерна апликација за фотографии може да врши основни функции: прикачување, сечење итн. Луѓето сакаат да создаваат свои аватари и да споделуваат фотографии од мачки, па затоа треба да можете да работите со слики.
Што ќе научите со создавање клон на Google Photos:
Како да креирате одговорни слики на телефони, таблети, лаптопи, па дури и огромни ТВ екрани.
Како да се справите со прикачувањата на слики, особено големите слики (> 1MB) и групните прикачувања.
Обработете датотеки со слики, исечете и менувајте ја големината на фотографиите за сликички или кога отворате галерија.
Бонус: како да зачувате слики во облакот или локалната база на податоци.
4. Клон Гифски
Гифски го конвертира видеото во GIF користејќи функцииpngquant за ефикасни палети со вкрстени рамки и временско антиалиасирање. Резултатот е GIF со илјадници цвеќиња по рамка.
Слој е заедница каде што секој може да нацрта пиксел на заедничка „табла“. Оригиналната идеја се роди на Reddit. Заедницата r/Layer е метафора за заедничката креативност, дека секој може да биде креатор и да придонесе за заедничка кауза.
Што ќе научите кога креирате сопствен Layer проект:
Како функционира JavaScript платното Знаењето како да се ракува со платно е критична вештина во многу апликации.
Како да ги координирате корисничките дозволи. Секој корисник може да нацрта по еден пиксел на секои 15 минути без да мора да се најави.
Squoosh е апликација за компресија на слики со многу напредни опции.
GIF 20 MB
Со создавање на своја сопствена верзија на Squoosh ќе научите:
Како да работите со големини на слики
Научете ги основите на Drag'n'Drop API
Разберете како функционираат API и слушателите на настани
Како да испраќате и извезувате датотеки
Забелешка: Компресорот за слика е локален. Не е неопходно да се испраќаат дополнителни податоци на серверот. Можете да го имате компресорот дома или да го користите на сервер по ваш избор.
Калкулатор
Ајде? Сериозно? Калкулатор? Да, точно, калкулатор. Разбирањето на основите на математичките операции и како тие работат заедно е критична вештина за поедноставување на вашите апликации. Порано или подоцна ќе треба да се справите со бројки и колку порано, толку подобро.
Како да распоредите елементи, да ги разберете стиловите
Роботека (пребарувач)
Секој користел пребарувач, па зошто да не креирате свој? Потребни се роботи за пребарување на информации. Сите ги користат секој ден и побарувачката за оваа технологија и специјалисти само ќе расте со текот на времето.
Google пребарувач
Што ќе научите со создавање сопствен пребарувач:
Како функционираат роботите
Како да индексирате страници и како да ги рангирате по рејтинг и репутација
Како да складирате индексирани страници во база на податоци и како да работите со базата на податоци
Музички плеер (Spotify, Apple Music)
Секој слуша музика - тоа е само составен дел од нашите животи. Ајде да создадеме музички плеер за подобро да разбереме како функционира основната механика на модерната платформа за стриминг музика.
Spotify
Што ќе научите со создавање на своја сопствена платформа за стриминг музика:
Како да работите со API. користете API од Spotify или Apple Music
Како да репродуцирате, паузирате или премотувате назад на следната/претходната песна
Како да ја смените јачината на звукот
Како да управувате со рутирањето на корисникот и историјата на прелистувачот
Апликација за пребарување филмови користејќи React (со куки)
Првото нешто со кое можете да започнете е да креирате апликација за пребарување филмови користејќи React. Подолу е слика за тоа како ќе изгледа конечната апликација:
Што ќе научиш
Со градење на оваа апликација, ќе ги подобрите вашите вештини за React со користење на релативно новиот Hooks API. Примерниот проект користи компоненти на React, многу куки, надворешен API и секако одреден стил на CSS.
Технолошки оџак и карактеристики
Реагирајте со куки
креирај-реагира-апликација
Jsx
CSS
Без користење на класи, овие проекти ви даваат совршена влезна точка во функционалниот React и дефинитивно ќе ви помогнат во 2020 година. Можеш да најдеш пример проект овде. Следете ги упатствата или направете го ваш.
Апликација за разговор со Vue
Друг одличен проект што треба да го направите е да креирате апликација за разговор користејќи ја мојата омилена библиотека JavaScript: VueJS. Апликацијата ќе изгледа вака:
Што ќе научиш
Во ова упатство, ќе научите како да направите апликација Vue од нула - создавање компоненти, ракување со состојба, креирање маршрути, поврзување со услуги од трети страни, па дури и ракување со автентикација.
Технолошки оџак и карактеристики
Vue
vuex
Vue рутер
Vue CLI
Тласкач
CSS
Ова е навистина одличен проект за да започнете со Vue или да ги подобрите вашите постоечки вештини за да започнете со развој во 2020 година. Можеш да најдеш туторијал овде.
Прекрасна апликација за временски услови со Angular 8
Овој пример ќе ви помогне да креирате убава апликација за временски услови користејќи Angular 8:
Што ќе научиш
Овој проект ќе ве научи на вредни вештини за градење апликации од нула - од дизајн до развој, па сè до апликација подготвена за распоредување.
Технолошки оџак и карактеристики
Аголна 8
Firebase
Рендерирање од страна на серверот
CSS со Grid и Flexbox
Пријателски на мобилен и приспособливост
Темен режим
Прекрасен интерфејс
Она што навистина го сакам во овој сеопфатен проект е тоа што не ги проучувате работите изолирано. Наместо тоа, го учите целиот процес на развој, од дизајн до конечно распоредување.
Апликација To-Do користејќи Svelte
Svelte е како новото дете на пристапот базиран на компоненти - барем сличен на React, Vue и Angular. И ова е еден од најжешките нови производи за 2020 година.
Апликациите за задачи не се нужно најжешката тема, но навистина ќе ви помогнат да ги усовршите вашите вештини Svelte. Ќе изгледа вака:
Што ќе научиш
Овој туторијал ќе ви покаже како да креирате апликација користејќи Svelte 3, од почеток до крај. Ќе користите компоненти, стајлинг и ракувачи со настани
Next.js е најпопуларната рамка за градење на React апликации кои поддржуваат прикажување надвор од кутијата од страна на серверот.
Овој проект ќе ви покаже како да креирате апликација за е-трговија која изгледа вака:
Што ќе научиш
Во овој проект, ќе научите како да се развивате со Next.js - да создавате нови страници и компоненти, да извлекувате податоци и да стилизирате и распоредите Next апликација.
Технолошки оџак и карактеристики
Следно.js
Компоненти и страници
Земање примероци на податоци
Стајлинг
Распоредување на проектот
РБС и СПА
Секогаш е одлично да се има пример од реалниот свет како апликација за е-трговија за да научите нешто ново. Ти можеш најдете го упатството овде.
Целосно повеќејазичен блог со Nuxt.js
Nuxt.js е за Vue, што е Next.js за React: одлична рамка за комбинирање на моќта на рендерирање од страна на серверот и апликации на една страница
Конечната апликација што можете да ја креирате ќе изгледа вака:
Што ќе научиш
Во овој примерок проект, ќе научите како да креирате целосна веб-локација користејќи Nuxt.js, од првичното поставување до конечното распоредување.
Искористува многу од одличните карактеристики што ги нуди Nuxt, како што се страници и компоненти и стилизирање со SCSS.
Технолошки оџак и карактеристики
Nuxt.js
Компоненти и страници
Модул за блок на приказни
Хаг риба
Vuex за управување со државата
SCSS за стилизирање
Nuxt Middlewares
Ова е навистина кул проект, кој вклучува многу одлични функции на Nuxt.js. Јас лично сакам да работам со Nuxt, па затоа треба да го пробате бидејќи исто така ќе ве направи одличен развивач на Vue.
Блог со Гетсби
Гетсби е одличен генератор на статички страници користејќи React и GraphQL. Ова е резултат на проектот:
Што ќе научиш
Во ова упатство, ќе научите како да го користите Гетсби за да креирате блог што ќе го користите за да пишувате свои написи користејќи React и GraphQL.
Технолошки оџак и карактеристики
Гетсби
Реагираат
GraphQL
Приклучоци и теми
MDX/Markdown
CSS за подигање
шаблони
Ако некогаш сте сакале да започнете блог, ова е одличен пример за тоа како да го направите користејќи React и GraphQL.
Не велам дека WordPress е лош избор, но со Гетсби можете да изградите веб-страници со високи перформанси користејќи React - што е неверојатна комбинација.
Блог со Gridsome
Gridsome за Vue... Добро, веќе го имавме ова со Next/Nuxt.
Но, истото важи и за Гридсом и Гетсби. И двете користат GraphQL како нивен слој на податоци, но Gridsome користи VueJS. Ова е исто така неверојатен генератор на статички страници што ќе ви помогне да креирате одлични блогови:
Што ќе научиш
Овој проект ќе ве научи како да креирате едноставен блог за да започнете со Gridsome, GraphQL и Markdown. Исто така, опфаќа како да се распореди апликација преку Netlify.
Аудио плеер сличен на SoundCloud со помош на Quasar
Quasar е уште една Vue рамка која може да се користи за креирање мобилни апликации. Во овој проект ќе креирате апликација за аудио плеер, на пример:
Што ќе научиш
Додека другите проекти се фокусираат главно на веб-апликации, овој ќе ви покаже како да креирате мобилна апликација користејќи Vue и рамката Quasar.
Веќе треба да имате Cordova што работи со конфигуриран Android Studio/Xcode. Ако не, прирачникот има врска до веб-страницата на Quasar каде што ви покажуваат како да поставите сè.
Технолошки оџак и карактеристики
Quasar
Vue
Cordova
WaveSurfer
Компоненти на UI
Мал проект, покажувајќи ги способностите на Quasar за креирање мобилни апликации.
Формулар за кредитна картичка
Прекрасна форма на кредитна картичка со мазни и пријатни микро-интеракции. Вклучува форматирање на броеви, верификација и автоматско откривање на типот на картичката. Изграден е на Vue.js и исто така целосно реагира. (Можете да видите тука.)
Ракувајте со настани (на пример, кога полињата се менуваат)
Разберете како да ги прикажете и поставите елементите на страницата, особено информациите за кредитната картичка што се појавуваат на врвот на формуларот
графика
Хистограм е графикон или графикон кој претставува категорични податоци со правоаголни шипки со висини или должини пропорционални на вредностите што тие ги претставуваат.
Тие можат да се применат вертикално или хоризонтално. Вертикалната лента со дијаграм понекогаш се нарекува линиска шема.
Што ќе научите:
Приказ на податоци на структуриран и разбирлив начин
Дополнително: Научете како да го користите елементот canvas и како се цртаат елементи со него
Тука можете да најдете податоци за светската популација. Тие се подредени по година.
Анимација на срцето на Твитер
Твитер во 2016 година ја претстави оваа неверојатна анимација за своите твитови. Од 2019 година, сè уште изгледа како дел, па зошто да не креирате сами?
Што ќе научите:
Работете со атрибут CSS keyframes
Манипулирајте и анимирајте HTML елементи
Комбинирајте JavaScript, HTML и CSS
Складишта на GitHub што може да се пребаруваат
Нема ништо фенси тука - складиштата на GitHub се само прославена листа.
Целта е да се прикажат складиштата и да се овозможи корисникот да ги филтрира. Користете официјално GitHub API за да добиете складишта за секој корисник.
Разговорите се популарен начин на комуникација поради нивната едноставност и леснотија на користење. Но, што навистина ги поттикнува модерните виртуелни простории за разговор? WebSockets!
Што ќе научите:
Користете WebSockets, комуникација во реално време и ажурирања на податоци
Работете со нивоа на пристап на корисници (на пример, сопственикот на канал за разговор ја има улогата adminи други во собата - user)
Обработете и проверувајте ги формуларите - запомнете, прозорецот за разговор за испраќање порака е input
Креирајте и придружете се на различни разговори
Работете со лични пораки. Корисниците можат приватно да разговараат со други корисници. Во суштина, ќе воспоставите врска WebSocket помеѓу двајца корисници.
Навигација во стил на ленти
Она што ја прави оваа навигација уникатна е тоа што контејнерот за поповер се трансформира за да одговара на содржината. Има елеганција во оваа транзиција во споредба со традиционалното однесување на отворање и затворање на нов поповер.
Што ќе научите:
Комбинирајте CSS анимации со транзиции
Затемнете ја содржината и применете ја активна класа на подвижниот елемент
Pacman
Создадете своја сопствена верзија на Pacman. Ова е одличен начин да се добие идеја за тоа како се развиваат игрите и да се разберат основите. Користете JavaScript рамка, React или Vue.
Ти ќе научиш:
Како се движат елементите
Како да одредите кои копчиња да ги притиснете
Како да се одреди моментот на судир
Можете да одите понатаму и да додадете контрола на движењето на духовите
Ако сакате да креирате апликации, започнете со апликација за временска прогноза. Овој проект може да се заврши со користење на Swift.
Покрај стекнувањето искуство за градење апликација, ќе научите:
Како да работите со API
Како да користите геолокација
Направете ја вашата апликација подинамична со додавање на внесување текст. Во него корисниците ќе можат да ја внесат својата локација за да го проверат времето на одредена локација.
Ќе ви треба API. За да добиете податоци за времето, користете го OpenWeather API. Повеќе информации за OpenWeather API тука.
Прозорец за разговор
Мојот прозорец за разговор е во акција, отворен во две јазичиња на прелистувачот
Создавањето прозорец за разговор е совршен начин да започнете со приклучоци. Изборот на технолошки оџак е огромен. Node.js, на пример, е совршен.
Ќе научите како работат сокетите и како да ги имплементирате. Ова е главната предност на овој проект.
Ако сте развивач на Laravel кој сака да работи со сокети, прочитајте го мојот статью
Ако сте нови за континуирана интеграција (CI), играјте си со GitLab CI. Поставете неколку околини и обидете се да извршите неколку тестови. Тоа не е многу тежок проект, но сигурен сум дека ќе научите многу од него. Многу развојни тимови сега користат CI. Корисно е да знаете како да го користите.
Ти ќе научиш:
Што е GitLab CI
Како да конфигурирате .gitlab-ci.ymlшто му кажува на корисникот на GitLab што да прави
Како да се распоредите во други средини
Анализатор на веб-страници
Направете стругалка што ја анализира семантиката на веб-страниците и ја создава нивната оцена. На пример, можете да проверите дали недостасуваат алт-ознаки на сликите. Или проверете дали страницата има мета-ознаки за оптимизација. Скрепер може да се создаде без кориснички интерфејс.
Ти ќе научиш:
Како работи стругалката?
Како да креирате DOM селектори
Како да напишете алгоритам
Ако не сакате да застанете тука, креирајте кориснички интерфејс. Можете исто така да креирате извештај за секоја веб-локација што ја проверувате.
Организација на рути за обработка на барања (Рутирање).
Повлечи и пушти.
Како да креирате нови објекти (табли, списоци, картички).
Обработка и проверка на влезните податоци.
Од страната на клиентот: како да користите локално складирање, како да зачувате податоци во локално складирање, како да читате податоци од локално складирање.
Од страната на серверот: како да користите бази на податоци, како да зачувате податоци во базата на податоци, како да читате податоци од базата на податоци.
Поставете ја вашата сопствена конфигурација на веб-пакет од нула
Технички, ова не е апликација, но е многу корисна задача да се разбере како работи веб-пакетот одвнатре. Сега тоа нема да биде „црна кутија“, туку разбирлива алатка.
Барања:
Компајлирајте es7 до es5 (основни).
Компајлирајте го jsx во js - или - .vue во .js (ќе мора да научите натоварувачи)
Поставете сервер за развој на веб-пакет и повторно вчитување на топол модул. (vue-cli и create-react-app ги користат и двете)
Користете Heroku, now.sh или Github, научете како да распоредите проекти на веб-пакети.
Поставете го вашиот омилен препроцесор да компајлира css - scss, помалку, игла.
Научете како да користите слики и svgs со веб-пакет.
Сериозно? Тудушка? Ги има илјадници. Но, верувајте ми, има причина за оваа популарност.
Апликацијата Tudu е одличен начин да се уверите дека ги разбирате основите. Обидете се да напишете една апликација во ванила Javascript и една во вашата омилена рамка.
Научете:
Создадете нови задачи.
Проверете дали се пополнети полињата.
Филтрирајте задачи (завршени, активни, сите). Користете filter и reduce.
Разберете ги основите на Javascript.
Список со влечење и спуштање што може да се подреди
Ќе разберете како функционираат и веб-апликациите и мајчин апликации, што ќе ве издвои од сивата маса.
Што ќе проучуваме:
Веб приклучоци (инстант пораки)
Како работат мајчин апликации.
Како работат шаблоните во домашните апликации.
Организирање правци за обработка на барања во домашни апликации.
Уредувач на текст
Целта на уредувачот на текст е да го намали напорот на корисниците кои се обидуваат да го претворат своето форматирање во валидна ознака на HTML. Добриот уредувач на текст им овозможува на корисниците да го форматираат текстот на различни начини.
Во одреден момент, секој користел уредувач на текст. Па зошто да не креирајте го сами?
Клон на Редит
reddit е агрегација на социјални вести, веб-локација за оценување на содржина и дискусија.
Редит ми одзема најголем дел од времето, но продолжувам да се дружам со него. Создавањето клон на Reddit е ефикасен начин за учење програмирање (додека прелистувате Reddit во исто време).
Редит ви обезбедува многу богат API. Не изоставувајте никакви карактеристики или не правете работи случајно. Во реалниот свет со клиенти и клиенти, не можете да работите случајно, или брзо ќе ја изгубите работата.
Паметните клиенти веднаш ќе сфатат дека работата е завршена лошо и ќе најдат некој друг.
Ако пишувате код во Javascript, голема е веројатноста дека користите менаџер на пакети. Управувачот со пакети ви овозможува повторно да го користите постоечкиот код што други луѓе го напишале и објавиле.
Разбирањето на целосниот циклус на развој на пакетот ќе обезбеди многу добро искуство. Има многу работи што треба да ги знаете кога објавувате код. Треба да размислите за безбедност, семантичко верзии, приспособливост, конвенции за именување и одржување.
Пакетот може да биде што било. Ако немате идеја, создадете своја сопствена Lodash и објавете ја.
freeCodeCamp е непрофитна организација. Се состои од интерактивна платформа за учење базирана на веб, онлајн форум на заедницата, виртуелни простории за разговор, медиумски публикации и локални организации кои имаат намера да го направат учењето веб развој достапно за секого.
Ќе бидете повеќе од квалификувани за вашата прва работа ако успеете да го завршите целиот курс.
Направете HTTP сервер од нула
Протоколот HTTP е еден од главните протоколи преку кои содржината патува на Интернет. HTTP серверите се користат за опслужување на статична содржина како што се HTML, CSS и JS.
Способноста да го имплементирате HTTP протоколот од нула ќе го прошири вашето знаење за тоа како работите комуницираат.
На пример, ако користите NodeJs, тогаш знаете дека Express обезбедува HTTP сервер.
За референца, видете дали можете:
Поставете сервер без да користите библиотеки
Серверот мора да опслужува HTML, CSS и JS содржина.
Имплементирање на рутер од нула
Следете ги промените и ажурирајте го серверот
Ако не знаете зошто, користете Оди на ланг и обидете се да креирате HTTP сервер Caddy од нула.
Десктоп апликација за белешки
Сите фаќаме белешки, нели?
Ајде да создадеме апликација за белешки. Апликацијата треба да зачувува белешки и да ги синхронизира со базата на податоци. Изградете домашна апликација користејќи Electron, Swift или што и да сакате и што работи за вашиот систем.
Слободно комбинирајте го ова со првиот предизвик (уредувач на текст).
Како бонус, обидете се да ја синхронизирате вашата десктоп верзија со веб-верзијата.
Поткасти (облачен клон)
Кој не слуша подкасти?
Креирајте веб-апликација со следнава функционалност:
Направете сметка
Пребарувајте поткасти
Оценете и претплатете се на подкасти
Застанете и играјте, менувајте ја брзината, функциите напред и назад за 30 секунди.
Обидете се да го користите iTunes API како почетна точка. Ако знаете други ресурси, ве молиме објавете ги во коментарите.