Dojo Front-end: pwojè pou fòme konpetans devlopè (5 nouvo + 43 fin vye granmoun)
1. Клон Notion
Приложение Notion полюбилось многим, оно позволяет оптимизировать рабочий процесс, работать с документами, планировать задачи, синхронизировать данные между устройствами.
Repl.it -это инструмент для совместного редактирования кода в реальном времени. Можно выбрать несколько языков: JavaScript, Python, Go и выполнять код прямо в браузере. Очень полезно для быстрых демонстраций и код-интервью.
Как запускать и выполнять код (server-side) в браузере (client-side).
Считывать входные данные (исходный код) и выводить на экран результат выполнения.
Как создавать файлы и папки в вебе и сохранять результаты.
Как подсвечивать синтаксис кода.
3. Клон Google Photos
Google Photos это сервис для хранения и обмена фоток.
Любое современное приложение по работе с фотографиями умеет выполнять базовые функции: загружать, обрезать и пр. Люди хотят создавать свои аватарки и делиться фотками котиков, поэтому надо уметь работать с изображениями.
Как создавать адаптивные изображения на телефонах, планшетах, ноутбуках и даже на гигантских экранах телевизоров.
Как обрабатывать загрузку изображений, особенно больших изображений (>1МБ) и массовых загрузок.
Обработка файлов изображений, обрезка и изменение размера фотографий для миниатюр или при открытии галереи.
bonis: как хранить изображения в облаке или локальной базе данных.
4. Клон Gifsky
gifski конвертирует видео в GIF используя функцииpngquant для эффективных палитр кросс-кадров и временного сглаживания. В результате получается гифка с тысячами цветов на кадр.
Kouch se yon kominote kote tout moun ka trase yon pixel sou yon "tablo" pataje. Lide orijinal la te fèt sou Reddit. Kominote r/Layer se yon metafò pou kreyativite pataje, ke tout moun ka yon kreyatè epi kontribye nan yon kòz komen.
Ki sa w ap aprann lè w ap kreye pwòp pwojè Kouch ou a:
Ki jan JavaScript kanva travay Konnen kijan pou opere yon twal se yon konpetans kritik nan anpil aplikasyon.
Ki jan yo kowòdone otorizasyon itilizatè yo. Chak itilizatè ka trase yon pixel chak 15 minit san yo pa bezwen konekte.
Squoosh se yon aplikasyon konpresyon imaj ak anpil opsyon avanse.
GIF 20 MB
Lè w kreye pwòp vèsyon ou nan Squoosh ou pral aprann:
Ki jan yo travay ak gwosè imaj
Aprann baz API Drag'n'Drop la
Konprann kijan API ak moun k ap koute evènman yo travay
Ki jan yo telechaje ak ekspòte fichye yo
Remak: Kompresè imaj la se lokal. Li pa nesesè pou voye plis done sou sèvè a. Ou ka gen COMPRESSOR a lakay ou, oswa ou ka itilize li sou yon sèvè, chwa ou.
Kalkilatris
Vini non? Seryezman? Kalkilatè? Wi, egzakteman, yon kalkilatris. Konprann baz operasyon matematik yo ak fason yo travay ansanm se yon konpetans enpòtan pou senplifye aplikasyon w yo. Pi bonè oswa pita ou pral gen fè fas ak nimewo ak pi bonè a pi bon an.
Tout moun te itilize yon motè rechèch, kidonk poukisa pa kreye pwòp ou a? Crawlers yo bezwen pou chèche enfòmasyon. Tout moun sèvi ak yo chak jou ak demann lan pou teknoloji sa a ak espesyalis ap grandi sèlman sou tan.
Motè rechèch Google
Ki sa w ap aprann lè w kreye pwòp motè rechèch ou a:
Ki jan crawlers travay
Ki jan yo endèks sit ak ki jan yo klase yo pa Rating ak repitasyon
Ki jan yo estoke sit endèks yo nan yon baz done ak ki jan yo travay ak baz done a
Jwè mizik (Spotify, Apple Music)
Tout moun koute mizik - se jis yon pati entegral nan lavi nou. Ann kreye yon jwè mizik pou pi byen konprann ki jan mekanik debaz yo nan yon platfòm modèn mizik difizyon travay.
Spotify
Ki sa w ap aprann lè w kreye pwòp platfòm difizyon mizik ou a:
Ki jan yo travay ak API a. sèvi ak API nan Spotify oswa Apple Music
Ki jan yo jwe, pran yon poz oswa remonte nan pwochen / anvan an
Ki jan yo chanje volim
Ki jan yo jere routage itilizatè yo ak istwa navigatè a
Aplikasyon rechèch fim lè l sèvi avèk React (ak zen)
Premye bagay ou ta ka kòmanse avèk yo se kreye yon aplikasyon rechèch fim lè l sèvi avèk React. Anba la a se yon imaj sou kisa aplikasyon final la pral sanble:
Kisa ou pral aprann
Lè w konstwi aplikasyon sa a, w ap amelyore konpetans React ou lè w itilize API Hooks ki relativman nouvo. Pwojè egzanp lan sèvi ak eleman React, anpil kwòk, yon API ekstèn, ak nan kou kèk manier CSS.
Pile teknoloji ak karakteristik
Reyaji ak kwòk
kreye-reyaji-app
JSX
CSS
San yo pa itilize okenn klas, pwojè sa yo ba ou pwen antre pafè nan React fonksyonèl epi yo pral definitivman ede ou nan 2020. ou ka jwenn egzanp pwojè isit la. Swiv enstriksyon yo oswa fè li pwòp ou a.
Chat App ak Vue
Yon lòt gwo pwojè pou ou fè se kreye yon app chat lè l sèvi avèk bibliyotèk JavaScript pi renmen mwen an: VueJS. Aplikasyon an pral gade yon bagay tankou sa a:
Kisa ou pral aprann
Nan leson patikilye sa a, ou pral aprann kijan pou fè yon app Vue nan grafouyen - kreye eleman, manyen eta, kreye wout, konekte ak sèvis twazyèm pati, e menm manyen otantifikasyon.
Pile teknoloji ak karakteristik
Vue
vuex
Vue Routeur
Vue CLI
Pusher
CSS
Sa a se yon pwojè vrèman gwo pou kòmanse ak Vue oswa amelyore konpetans ou ki egziste deja pou antre nan devlopman nan 2020. ou ka jwenn leson patikilye isit la.
Bèl aplikasyon move tan ak Angular 8
Egzanp sa a pral ede w kreye yon bèl aplikasyon metewolojik lè l sèvi avèk Angular 8:
Kisa ou pral aprann
Pwojè sa a pral anseye ou ladrès ki gen anpil valè nan bati aplikasyon depi nan grafouyen - soti nan konsepsyon jiska devlopman, jouk rive nan yon aplikasyon ki pare pou deplwaman.
Pile teknoloji ak karakteristik
Angilè 8
Firebase
Rann bò sèvè
CSS ak Grid ak Flexbox
Mobil zanmitay ak adaptabilite
Mòd nwa
Bèl koòdone
Ki sa mwen vrèman renmen nan pwojè sa a tout antye se ke ou pa etidye bagay sa yo nan izolasyon. Olye de sa, ou aprann tout pwosesis devlopman an, depi nan konsepsyon rive nan deplwaman final la.
Aplikasyon pou fè lè l sèvi avèk Svelte
Svelte se tankou nouvo jenn ti kabrit la sou apwòch la ki baze sou eleman - omwen menm jan ak React, Vue ak Angular. Ak sa a se youn nan pi cho nouvo pwodwi yo pou 2020.
Aplikasyon pou fè yo pa nesesèman sijè ki pi cho a, men li pral reyèlman ede ou amelyore konpetans Svelte ou. Li pral sanble tankou sa a:
Kisa ou pral aprann
Tutorial sa a pral montre w kouman pou kreye yon aplikasyon lè l sèvi avèk Svelte 3, depi nan kòmansman rive nan fini. Ou pral sèvi ak konpozan, manier, ak moun kap okipe evènman yo
Next.js se fondasyon ki pi popilè pou bati aplikasyon React ki sipòte rann bò sèvè soti nan bwat la.
Pwojè sa a pral montre w kijan pou kreye yon aplikasyon e-commerce ki sanble sa a:
Kisa ou pral aprann
Nan pwojè sa a, ou pral aprann kijan pou devlope ak Next.js—kreye nouvo paj ak konpozan, ekstrè done, ak style epi deplwaye yon aplikasyon Next.
Pile teknoloji ak karakteristik
Next.js
Eleman ak paj
Done echantiyonaj
Stilizasyon
Deplwaman Pwojè
SSR ak SPA
Li toujou bon pou gen yon egzanp nan mond reyèl la tankou yon app e-commerce pou aprann yon bagay nouvo. Ou kapab jwenn leson patikilye a isit la.
Blòg ki gen plizyè lang ak Nuxt.js
Nuxt.js se pou Vue, sa Next.js se pou React: yon gwo fondasyon pou konbine pouvwa rann bò sèvè ak aplikasyon pou yon sèl paj.
Aplikasyon final ou ka kreye pral sanble sa a:
Kisa ou pral aprann
Nan echantiyon pwojè sa a, ou pral aprann kijan pou kreye yon sit entènèt konplè lè l sèvi avèk Nuxt.js, soti nan premye konfigirasyon rive nan deplwaman final la.
Li pran avantaj de anpil nan karakteristik yo fre ke Nuxt te ofri, tankou paj ak konpozan, ak manier ak SCSS.
Pile teknoloji ak karakteristik
Nuxt.js
Eleman ak paj
Storyblock modil
Hagfish
Vuex pou jesyon leta
SCSS pou manier
Nuxt middlewares
Sa a se yon pwojè vrèman fre, ki gen ladann anpil gwo karakteristik Nuxt.js. Mwen pèsonèlman renmen travay ak Nuxt kidonk ou ta dwe eseye li paske li pral fè ou tou yon gwo devlopè Vue.
Blog ak Gatsby
Gatsby se yon dèlko sit estatik ekselan lè l sèvi avèk React ak GraphQL. Sa a se rezilta pwojè a:
Kisa ou pral aprann
Nan leson patikilye sa a, ou pral aprann kijan pou itilize Gatsby pou kreye yon blog ou pral itilize pou ekri atik pwòp ou yo lè l sèvi avèk React ak GraphQL.
Pile teknoloji ak karakteristik
gatsby
Reyaji
GraphQL
Plugins ak tèm
MDX/Markdown
Bootstrap CSS
Modèl
Si ou te janm vle kòmanse yon blog, sa a se yon gwo egzanp sou kijan pou fè li lè l sèvi avèk React ak GraphQL.
Mwen pa di WordPress se yon move chwa, men ak Gatsby ou ka bati sit entènèt wo-pèfòmans lè l sèvi avèk React - ki se yon konbinezon etonan.
Blog ak Gridsome
Gridsome pou Vue... Oke, nou te deja gen sa ak Next/Nuxt.
Men, menm bagay la tou pou Gridsome ak Gatsby. Tou de itilize GraphQL kòm kouch done yo, men Gridsome itilize VueJS. Sa a se tou yon dèlko sit estatik etonan ki pral ede w kreye gwo blogs:
Kisa ou pral aprann
Pwojè sa a pral moutre w ki jan yo kreye yon blog senp pou kòmanse ak Gridsome, GraphQL ak Markdown. Li kouvri tou kijan pou deplwaye yon aplikasyon atravè Netlify.
Pile teknoloji ak karakteristik
Gridsome
Vue
GraphQL
rediksyon
Netlify
Sa a se sètènman pa leson patikilye ki pi konplè, men li kouvri konsèp debaz yo nan Gridsome ak Markdown ka yon bon pwen depa.
SoundCloud-tankou jwè odyo lè l sèvi avèk Quasar
Quasar se yon lòt kad Vue ki ka itilize pou kreye aplikasyon mobil. Nan pwojè sa a ou pral kreye yon aplikasyon jwè odyo, pou egzanp:
Kisa ou pral aprann
Pandan ke lòt pwojè konsantre sitou sou aplikasyon entènèt, yon sèl sa a pral montre w kouman yo kreye yon aplikasyon mobil lè l sèvi avèk Vue ak kad Quasar la.
Ou ta dwe deja gen Cordova kouri ak Android Studio/Xcode configuré. Si ou pa, manyèl la gen yon lyen ki mennen nan sit entènèt Quasar la kote yo montre w kouman yo mete tout bagay.
Pile teknoloji ak karakteristik
Kwazar
Vue
Cordova
wavesurfer
Konpozan UI
Ti pwojè, demontre kapasite Quasar pou kreye aplikasyon mobil.
Форма кредитной карты
Yon fòm kat kredi fre ak mikwo-entèraksyon lis ak agreyab. Gen ladan fòma nimewo, verifikasyon ak deteksyon otomatik kalite kat. Li bati sou Vue.js epi li konplètman reponn. (Ou ka wè isit la.)
Konprann ki jan yo montre ak mete eleman sou paj la, espesyalman enfòmasyon sou kat kredi ki parèt anlè fòm lan
graf ba
Yon istogram se yon tablo oswa graf ki reprezante done kategori ak ba rektangilè ak wotè oswa longè pwopòsyonèl ak valè yo reprezante.
Yo ka aplike vètikal oswa orizontal. Yon tablo ba vètikal pafwa yo rele yon tablo liy.
Ki sa ou pral aprann:
Montre done nan yon fason estriktire ak konprann
Anplis de sa: Aprann kijan pou itilize eleman an canvas ak ki jan yo desine eleman ak li
Isit la ou ka jwenn done popilasyon mondyal la. Yo klase pa ane.
Анимация сердечка Twitter
Retounen nan 2016, Twitter prezante animasyon etonan sa a pou tweets li yo. Kòm nan 2019, li toujou sanble pati nan, kidonk poukisa pa kreye youn tèt ou?
Ki sa ou pral aprann:
Travay ak atribi CSS keyframes
Manipile ak anime eleman HTML
Konbine JavaScript, HTML ak CSS
Репозитории GitHub с функцией поиска
Pa gen anyen anpenpan isit la—Repozitwa GitHub yo se jis yon lis glorifye.
Objektif la se montre depo yo epi pèmèt itilizatè a filtre yo. Sèvi ak ofisyèl GitHub API pou jwenn depo pou chak itilizatè.
Chat yo se yon fason popilè nan kominikasyon akòz senplisite yo ak fasilite yo sèvi ak yo. Men, sa ki vrèman gaz chanm chat modèn? WebSockets!
Ki sa ou pral aprann:
Sèvi ak WebSockets, kominikasyon an tan reyèl ak mizajou done
Travay ak nivo aksè itilizatè yo (pa egzanp, mèt kay la nan yon kanal chat gen wòl la admin, ak lòt moun nan chanm nan - user)
Pwosesis ak valide fòm - sonje, fenèt la chat pou voye yon mesaj se input
Kreye epi rantre nan chat diferan
Travay ak mesaj pèsonèl. Itilizatè yo ka koze ak lòt itilizatè yo an prive. Esansyèlman, ou pral etabli yon koneksyon WebSocket ant de itilizatè.
Навигация в стиле Stripe
Ki sa ki fè navigasyon sa a inik se ke veso popover a transfòme pou anfòm kontni an. Gen yon distenksyon nan tranzisyon sa a konpare ak konpòtman tradisyonèl nan ouvèti ak fèmen yon nouvo popover.
Ki sa ou pral aprann:
Konbine animasyon CSS ak tranzisyon
Dim kontni epi aplike klas aktif nan eleman flote
Parkman
Kreye pwòp vèsyon ou nan Pacman. Sa a se yon bon fason yo jwenn yon lide sou ki jan jwèt yo devlope ak konprann Basics yo. Sèvi ak yon fondasyon JavaScript, React oswa Vue.
Ou pral aprann:
Ki jan eleman yo deplase
Ki jan yo detèmine ki kle yo peze
Ki jan yo detèmine moman kolizyon an
Ou ka ale pi lwen epi ajoute kontwòl mouvman fantom
Ou pral jwenn yon egzanp pwojè sa a nan depo a GitHub
Si w se nouvo nan entegrasyon kontinyèl (CI), jwe otou ak GitLab CI. Fikse yon anviwonman kèk epi eseye kouri yon koup nan tès yo. Se pa yon pwojè trè difisil, men mwen sèten ou pral aprann anpil nan li. Anpil ekip devlopman kounye a ap itilize CI. Konnen kijan pou itilize li se itil.
Ou pral aprann:
Ki sa ki GitLab CI
Ki jan yo konfigirasyon .gitlab-ci.ymlki di itilizatè GitLab sa pou l fè
Ki jan yo deplwaye nan lòt anviwònman
Анализатор сайтов
Fè yon grate ki analize semantik sit entènèt yo epi kreye evalyasyon yo. Pa egzanp, ou ka tcheke si manke alt tags nan imaj yo. Oswa tcheke si paj la gen tags meta SEO. Yon grate ka kreye san yon koòdone itilizatè.
Ou pral aprann:
Ki jan grate travay?
Ki jan yo kreye seleksyon DOM
Ki jan yo ekri yon algorithm
Si ou pa vle sispann la, kreye yon koòdone itilizatè. Ou kapab tou kreye yon rapò sou chak sit entènèt ou tcheke.
Teknikman, sa a se pa yon aplikasyon, men li se yon travay trè itil yo konprann ki jan webpack travay soti nan andedan an. Koulye a, li pa pral yon "bwat nwa", men yon zouti konprann.
Kondisyon:
Konpile es7 pou es5 (de baz).
Konpile jsx pou js - oswa - .vue pou .js (ou pral oblije aprann loaders)
Mete kanpe sèvè webpack dev ak rechaje modil cho. (vue-cli ak create-react-app itilize tou de)
Sèvi ak Heroku, now.sh oswa Github, aprann kijan pou deplwaye pwojè webpack.
Fikse preprocesseur ou pi renmen pou konpile css - scss, less, stylus.
Seryezman? Tudushka? Gen dè milye nan yo. Men, kwè m ', gen yon rezon pou popilarite sa a.
App Tudu a se yon bon fason pou asire w ke ou konprann Basics yo. Eseye ekri yon aplikasyon nan vaniy Javascript ak yon sèl nan kad pi renmen ou.
Aprann:
Kreye nouvo travay.
Tcheke ke jaden yo ranpli.
Travay filtre (konplete, aktif, tout). Sèvi ak filter и reduce.
Ou pral konprann ki jan tou de aplikasyon entènèt ak aplikasyon natif natal travay, ki pral mete ou apa de mas la gri.
Ki sa nou pral etidye:
Sit entènèt (mesaj enstantane)
Ki jan aplikasyon natif natal yo travay.
Ki jan modèl yo travay nan aplikasyon natif natal.
Òganize wout pwosesis demann nan aplikasyon natif natal.
Editè tèks
Objektif yon editè tèks se diminye efò itilizatè yo ap eseye konvèti fòma yo an make HTML valab. Yon bon editè tèks pèmèt itilizatè yo fòma tèks nan diferan fason.
Nan kèk pwen, tout moun te itilize yon editè tèks. Se konsa, poukisa pa kreye li tèt ou?
Клон Reddit
Reddit se yon gwoup nouvèl sosyal, evalyasyon kontni entènèt ak sit diskisyon.
Reddit pran pi fò nan tan mwen, men mwen kontinye pandye sou li. Kreye yon script Reddit se yon fason efikas pou aprann pwogramasyon (pandan w ap navige Reddit an menm tan).
Reddit bay ou ak yon trè rich API. Pa kite okenn karakteristik oswa fè bagay sa yo azar. Nan mond reyèl la ak kliyan ak kliyan, ou pa ka travay azar, oswa ou pral byen vit pèdi travay ou.
Kliyan entelijan pral imedyatman reyalize ke travay la ap fè mal epi yo pral jwenn yon lòt moun.
Si ou ekri kòd Javascript, gen chans pou ou itilize yon manadjè pake. Yon manadjè pake pèmèt ou reitilize kòd ki egziste deja ke lòt moun te ekri ak pibliye.
Konprann sik devlopman konplè nan yon pake pral bay yon eksperyans trè bon. Gen anpil bagay ou bezwen konnen lè w ap pibliye kòd. Ou bezwen reflechi sou sekirite, vèsyon semantik, évolutivité, konvansyon nonmen ak antretyen.
Pake a ka nenpòt bagay. Si ou pa gen yon lide, kreye pwòp Lodash ou epi pibliye li.
freeCodeCamp se yon òganizasyon ki pa gen pwofi. Li konsiste de yon platfòm aprantisaj entèaktif ki baze sou entènèt, yon fowòm kominotè sou entènèt, chanm chat, piblikasyon Medium, ak òganizasyon lokal ki gen entansyon fè devlopman entènèt aprantisaj aksesib pou tout moun.
Ou pral plis pase kalifye pou premye travay ou si ou jere ranpli kou a tout antye.
Создайте HTTP-сервер с нуля
Pwotokòl HTTP a se youn nan pwotokòl prensipal yo atravè ki kontni vwayaje sou entènèt la. Sèvè HTTP yo itilize pou sèvi kontni estatik tankou HTML, CSS, ak JS.
Lè w kapab aplike pwotokòl HTTP a nan grafouyen pral elaji konesans ou sou fason bagay sa yo kominike.
Pou egzanp, si ou itilize NodeJs, Lè sa a, ou konnen ke Express bay yon sèvè HTTP.
Pou referans, gade si ou kapab:
Mete yon sèvè san w pa itilize okenn bibliyotèk
Sèvè a dwe sèvi HTML, CSS ak JS kontni.
Aplike yon routeur nan grafouyen
Siveye chanjman yo epi mete ajou sèvè a
Si ou pa konnen poukisa, sèvi ak Ale lang epi eseye kreye yon sèvè HTTP Kade soti nan grafouyen.
Десктопное приложение для заметок
Nou tout pran nòt, pa vre?
Ann kreye yon aplikasyon nòt. Aplikasyon an bezwen pou konsève pou nòt ak senkronize yo ak baz done a. Bati yon aplikasyon natif natal lè l sèvi avèk Electron, Swift, oswa kèlkeswa sa ou renmen ak sa ki travay pou sistèm ou an.
Ezite konbine sa a ak premye defi a (editè tèks).
Kòm yon bonis, eseye senkronize vèsyon Desktop ou a ak vèsyon entènèt la.
Подкасты (клон Overcast)
Ki moun ki pa koute podcasts?
Kreye yon aplikasyon entènèt ak fonksyonalite sa yo:
Kreye yon kont
Rechèch Podcasts
Voye ak abònman nan podcasts
One Stop ak jwe, chanje vitès, fonksyon pi devan ak bak pou 30 segonn.
Eseye itilize iTunes API kòm yon pwen depa. Si w konnen nenpòt lòt resous, tanpri poste nan kòmantè yo.