Dojo frontal: projectes per formar habilitats de desenvolupadors (5 nous + 43 antics)
1. Клон Notion
Приложение Notion полюбилось многим, оно позволяет оптимизировать рабочий процесс, работать с документами, планировать задачи, синхронизировать данные между устройствами.
Repl.it -это инструмент для совместного редактирования кода в реальном времени. Можно выбрать несколько языков: JavaScript, Python, Go и выполнять код прямо в браузере. Очень полезно для быстрых демонстраций и код-интервью.
Как запускать и выполнять код (server-side) в браузере (client-side).
Считывать входные данные (исходный код) и выводить на экран результат выполнения.
Как создавать файлы и папки в вебе и сохранять результаты.
Как подсвечивать синтаксис кода.
3. Клон Google Photos
Google Photos это сервис для хранения и обмена фоток.
Любое современное приложение по работе с фотографиями умеет выполнять базовые функции: загружать, обрезать и пр. Люди хотят создавать свои аватарки и делиться фотками котиков, поэтому надо уметь работать с изображениями.
Как создавать адаптивные изображения на телефонах, планшетах, ноутбуках и даже на гигантских экранах телевизоров.
Как обрабатывать загрузку изображений, особенно больших изображений (>1МБ) и массовых загрузок.
Обработка файлов изображений, обрезка и изменение размера фотографий для миниатюр или при открытии галереи.
Bonus: как хранить изображения в облаке или локальной базе данных.
4. Клон Gifsky
Gifs конвертирует видео в GIF используя функцииpngquant для эффективных палитр кросс-кадров и временного сглаживания. В результате получается гифка с тысячами цветов на кадр.
Layer és una comunitat on tothom pot dibuixar un píxel en un "tauler" compartit. La idea original va néixer a Reddit. La comunitat r/Layer és una metàfora de la creativitat compartida, que tothom pot ser creador i contribuir a una causa comuna.
Què aprendràs en crear el teu propi projecte de capa:
Com funciona el llenç de JavaScript Saber com operar un llenç és una habilitat fonamental en moltes aplicacions.
Com coordinar els permisos dels usuaris. Cada usuari pot dibuixar un píxel cada 15 minuts sense haver d'iniciar sessió.
Squoosh és una aplicació de compressió d'imatges amb moltes opcions avançades.
GIF 20 MB
En crear la teva pròpia versió de Squoosh, aprendràs:
Com treballar amb mides d'imatge
Apreneu els conceptes bàsics de l'API d'arrossegar i deixar anar
Entendre com funcionen l'API i els oients d'esdeveniments
Com pujar i exportar fitxers
Nota: El compressor d'imatge és local. No cal enviar dades addicionals al servidor. Podeu tenir el compressor a casa, o podeu utilitzar-lo en un servidor, la vostra elecció.
Calculadora
Vinga? De debò? Calculadora? Sí, exactament, una calculadora. Comprendre els conceptes bàsics de les operacions matemàtiques i com funcionen conjuntament és una habilitat fonamental per simplificar les vostres aplicacions. Tard o d'hora hauràs de fer front als números i com més aviat millor.
Tothom ha utilitzat un motor de cerca, així que per què no crear el vostre? Es necessiten rastrejadors per buscar informació. Tothom els fa servir cada dia i la demanda d'aquesta tecnologia i especialistes només augmentarà amb el temps.
Cercador de Google
Què aprendràs creant el teu propi motor de cerca:
Com funcionen els crawlers
Com indexar els llocs i com classificar-los per puntuació i reputació
Com emmagatzemar els llocs indexats en una base de dades i com treballar amb la base de dades
Reproductor de música (Spotify, Apple Music)
Tothom escolta música, és només una part integral de les nostres vides. Creem un reproductor de música per entendre millor com funciona la mecànica bàsica d'una plataforma de reproducció de música moderna.
Spotify
Què aprendràs creant la teva pròpia plataforma de reproducció de música:
Com treballar amb l'API. utilitzar l'API de Spotify o Apple Music
Com reproduir, posar en pausa o rebobinar a la pista següent/anterior
Com canviar el volum
Com gestionar l'enrutament dels usuaris i l'historial del navegador
Aplicació de cerca de pel·lícules amb React (amb ganxos)
El primer que podeu començar és crear una aplicació de cerca de pel·lícules amb React. A continuació es mostra una imatge de com serà l'aplicació final:
Què aprendràs?
En crear aquesta aplicació, millorareu les vostres habilitats de React mitjançant l'API de Hooks relativament nova. El projecte de mostra utilitza components React, molts ganxos, una API externa i, per descomptat, algun estil CSS.
Pila de tecnologia i característiques
Reacciona amb ganxos
crear-reaccionar-aplicació
JSX
CSS
Sense utilitzar cap classe, aquests projectes us proporcionen el punt d'entrada perfecte a React funcional i us ajudaran sens dubte el 2020. pots trobar projecte d'exemple aquí. Segueix les instruccions o crea'l teu.
Aplicació de xat amb Vue
Un altre gran projecte per a vosaltres és crear una aplicació de xat utilitzant la meva biblioteca de JavaScript preferida: VueJS. L'aplicació tindrà un aspecte com aquest:
Què aprendràs?
En aquest tutorial, aprendràs a crear una aplicació Vue des de zero: crear components, gestionar estats, crear rutes, connectar-se a serveis de tercers i fins i tot gestionar l'autenticació.
Pila de tecnologia i característiques
Vue
Vuex
vue router
Vista CLI
empenyedor
CSS
Aquest és un projecte realment fantàstic per començar amb Vue o millorar les vostres habilitats existents per començar el desenvolupament el 2020. pots trobar tutorial aquí.
Bonica aplicació de temps amb Angular 8
Aquest exemple us ajudarà a crear una bonica aplicació meteorològica amb Angular 8:
Què aprendràs?
Aquest projecte us ensenyarà habilitats valuoses per crear aplicacions des de zero, des del disseny fins al desenvolupament, fins a una aplicació llesta per desplegar.
Pila de tecnologia i característiques
Angular 8
Base de dades
Renderització del costat del servidor
CSS amb Grid i Flexbox
Mòbil amigable i adaptabilitat
Mode fosc
Bella interfície
El que m'agrada molt d'aquest projecte integral és que no estudies les coses de manera aïllada. En canvi, apreneu tot el procés de desenvolupament, des del disseny fins al desplegament final.
Aplicació de tasques pendents amb Svelte
Svelte és com el nen nou en l'enfocament dels components, almenys similar a React, Vue i Angular. I aquest és un dels productes nous més interessants per al 2020.
Les aplicacions de tasques pendents no són necessàriament el tema més candent, però realment us ajudaran a perfeccionar les vostres habilitats Svelte. Es veurà així:
Què aprendràs?
Aquest tutorial us mostrarà com crear una aplicació amb Svelte 3, de principi a fi. Utilitzareu components, estils i gestors d'esdeveniments
Next.js és el marc més popular per crear aplicacions React que admeten la representació del servidor des de la caixa.
Aquest projecte us mostrarà com crear una aplicació de comerç electrònic amb aquest aspecte:
Què aprendràs?
En aquest projecte, aprendràs a desenvolupar amb Next.js: crear pàgines i components nous, recuperar dades, estilitzar i desplegar una aplicació Next.
Pila de tecnologia i característiques
Next.js
Components i pàgines
Mostreig de dades
Estilisme
Desplegament del projecte
SSR i SPA
Sempre és fantàstic tenir un exemple real com una aplicació de comerç electrònic per aprendre alguna cosa nova. Tu pots trobar tutorial aquí.
Bloc multilingüe complet amb Nuxt.js
Nuxt.js és per a Vue, com Next.js és per a React: un marc fantàstic per combinar la representació del costat del servidor i les aplicacions d'una sola pàgina
L'última aplicació que podeu crear serà així:
Què aprendràs?
En aquest projecte de mostra, aprendràs a crear un lloc web complet amb Nuxt.js, des de la configuració inicial fins al desplegament final.
Aprofita moltes de les funcions interessants que ofereix Nuxt, com ara pàgines i components, i estilisme amb SCSS.
Pila de tecnologia i característiques
Nuxt.js
Components i pàgines
mòdul storyblock
Mixins
Vuex per a la gestió estatal
SCSS per estilitzar
Intermediaris de Nuxt
Aquest és un projecte molt xulo., que inclou moltes de les grans característiques de Nuxt.js. Personalment, m'encanta treballar amb Nuxt, així que hauríeu de provar-ho, ja que també us convertirà en un gran desenvolupador de Vue.
Bloc amb Gatsby
Gatsby és un gran generador de llocs estàtics que utilitza React i GraphQL. Aquest és el resultat del projecte:
Què aprendràs?
En aquest tutorial, aprendràs a utilitzar Gatsby per crear un bloc que utilitzaràs per escriure els teus propis articles amb React i GraphQL.
No dic que WordPress sigui una mala elecció, però amb Gatsby podeu crear llocs web d'alt rendiment amb React, que és una combinació increïble.
Bloc amb Gridsome
Gridsome per a Vue... D'acord, ja ho teníem amb Next/Nuxt.
Però el mateix passa amb Gridsome i Gatsby. Tots dos utilitzen GraphQL com a capa de dades, però Gridsome utilitza VueJS. També és un generador de llocs estàtics fantàstic per ajudar-vos a crear grans blocs:
Què aprendràs?
Aquest projecte us ensenyarà a crear un bloc senzill per començar amb Gridsome, GraphQL i Markdown. També explica com desplegar una aplicació mitjançant Netlify.
Reproductor d'àudio semblant a SoundCloud amb Quasar
Quasar és un altre marc de Vue que es pot utilitzar per crear aplicacions mòbils. En aquest projecte, creareu una aplicació de reproductor d'àudio, per exemple:
Què aprendràs?
Tot i que altres projectes se centren principalment en aplicacions web, aquest us mostrarà com crear una aplicació mòbil amb Vue i el framework Quasar.
Ja hauríeu de tenir un Còrdova que funcioni amb Android Studio/Xcode configurat. Si no, el manual té un enllaç al lloc web de Quasar on us mostren com configurar-ho tot.
Pila de tecnologia i característiques
Quàsar
Vue
Còrdova
wavesurfer
Components de la IU
petit projecte, demostrant les capacitats de Quasar per crear aplicacions mòbils.
Форма кредитной карты
Una forma de targeta de crèdit fantàstica amb microinteraccions suaus i agradables. Inclou el format del número, la verificació i la detecció automàtica del tipus de targeta. Està construït a Vue.js i també és totalment sensible. (Pots veure aquí.)
Gestionar esdeveniments (per exemple, quan canvien els camps)
Entendre com mostrar i col·locar elements a la pàgina, especialment la informació de la targeta de crèdit que apareix a la part superior del formulari
gràfic de barres
Un histograma és un gràfic o gràfic que representa dades categòriques amb barres rectangulars amb alçades o longituds proporcionals als valors que representen.
Es poden aplicar verticalment o horitzontalment. Un gràfic de barres verticals de vegades s'anomena gràfic de línies.
Què aprendràs:
Mostra les dades d'una manera estructurada i entenedora
A més: aprèn a utilitzar l'element canvas i com dibuixar elements amb ell
Aquí podeu trobar dades de població mundial. Estan ordenats per any.
Анимация сердечка Twitter
L'any 2016, Twitter va presentar aquesta increïble animació per als seus tuits. A partir del 2019, encara sembla la part, així que per què no crear-ne un?
Què aprendràs:
Treballar amb l'atribut CSS keyframes
Manipular i animar elements HTML
Combina JavaScript, HTML i CSS
Репозитории GitHub с функцией поиска
No hi ha res fantàstic aquí: els dipòsits de GitHub són només una llista glorificada.
L'objectiu és mostrar els repositoris i permetre a l'usuari filtrar-los. Ús API oficial de GitHub per obtenir repositoris per a cada usuari.
Els xats són una forma popular de comunicació per la seva senzillesa i facilitat d'ús. Però, què alimenta realment les sales de xat modernes? WebSockets!
Què aprendràs:
Utilitzeu WebSockets, comunicacions en temps real i actualitzacions de dades
Treballar amb nivells d'accés d'usuari (per exemple, el propietari d'un canal de xat té la funció admin, i altres a l'habitació - user)
Processa i valida els formularis: recorda, la finestra de xat per enviar un missatge és input
Crea i uneix-te a diferents xats
Treballar amb missatges personals. Els usuaris poden xatejar amb altres usuaris de manera privada. Bàsicament, establiràs una connexió WebSocket entre dos usuaris.
Навигация в стиле Stripe
El que fa que aquesta navegació sigui única és que el contenidor emergent es transforma per adaptar-se al contingut. Hi ha una elegància en aquesta transició en comparació amb el comportament tradicional d'obrir i tancar un nou popover.
Què aprendràs:
Combina animacions CSS amb transicions
Reduïu el contingut i apliqueu la classe activa a l'element flotant
Pacman
Crea la teva pròpia versió de Pacman. Aquesta és una manera fantàstica de fer-se una idea de com es desenvolupen els jocs i entendre els fonaments bàsics. Utilitzeu un marc de JavaScript, React o Vue.
Aprendràs:
Com es mouen els elements
Com determinar quines tecles cal prémer
Com determinar el moment de la col·lisió
Podeu anar més enllà i afegir control de moviment fantasma
Trobareu un exemple d'aquest projecte al repositori GitHub
La creació d'una aplicació tipus CRUD per a l'administració d'usuaris us ensenyarà els fonaments bàsics del desenvolupament. Això és especialment útil per als nous desenvolupadors.
Aprendràs:
Què és l'encaminament
Com gestionar els formularis d'entrada de dades i comprovar què ha introduït l'usuari
Com treballar amb la base de dades: crear, llegir, actualitzar i suprimir accions
Si voleu crear aplicacions, comenceu amb una aplicació meteorològica. Aquest projecte es pot completar amb Swift.
A més d'adquirir experiència en la creació d'una aplicació, aprendràs:
Com treballar amb l'API
Com utilitzar la geolocalització
Fes que la teva aplicació sigui més dinàmica afegint entrada de text. En ella, els usuaris podran introduir la seva ubicació per consultar el temps en una ubicació concreta.
Necessitareu una API. Per obtenir dades meteorològiques, utilitzeu l'API d'OpenWeather. Més informació sobre l'API OpenWeather aquí.
Окно чата
La meva finestra de xat en acció, oberta en dues pestanyes del navegador
Crear una finestra de xat és la manera perfecta de començar amb els endolls. L'elecció de la pila tecnològica és enorme. Node.js, per exemple, és perfecte.
Aprendràs com funcionen els sòcols i com implementar-los. Aquest és el principal avantatge d'aquest projecte.
Si sou un desenvolupador de Laravel que vol treballar amb sòcols, llegiu el meu un article
Si sou nou a la integració contínua (CI), juga amb GitLab CI. Configureu uns quants entorns i proveu d'executar un parell de proves. No és un projecte molt difícil, però estic segur que n'aprendràs molt. Molts equips de desenvolupament ara utilitzen CI. Saber utilitzar-lo és útil.
Aprendràs:
Què és GitLab CI
Com configurar .gitlab-ci.ymlque indica a l'usuari de GitLab què ha de fer
Com desplegar-se en altres entorns
Анализатор сайтов
Feu un rascador que analitzi la semàntica dels llocs web i en creï la valoració. Per exemple, podeu comprovar si falten etiquetes alt a les vostres imatges. O comproveu si la pàgina té metaetiquetes SEO. Es pot crear un rascador sense una interfície d'usuari.
Aprendràs:
Com funciona el rascador?
Com crear selectors DOM
Com escriure un algorisme
Si no voleu aturar-vos aquí, creeu una interfície d'usuari. També podeu crear un informe a cada lloc web que consulteu.
Organització de les rutes de tramitació de peticions (Routing).
Arrossegar i deixar anar.
Com crear nous objectes (taulers, llistes, targetes).
Tractament i comprovació de dades d'entrada.
Des del costat del client: com utilitzar l'emmagatzematge local, com desar dades a l'emmagatzematge local, com llegir dades des de l'emmagatzematge local.
Des del costat del servidor: com utilitzar bases de dades, com desar dades a la base de dades, com llegir dades de la base de dades.
Tècnicament, aquesta no és una aplicació, però és una tasca molt útil per entendre com funciona webpack des de dins. Ara no serà una "caixa negra", sinó una eina comprensible.
Requisits:
Compileu es7 a es5 (bàsiques).
Compileu jsx a js - o - .vue a .js (haureu d'aprendre carregadors)
Configura el servidor de desenvolupament webpack i la recàrrega de mòduls en calent. (vue-cli i create-react-app fan servir tots dos)
Utilitzeu Heroku, now.sh o Github, apreneu a implementar projectes webpack.
Configureu el vostre preprocessador preferit per compilar css - scss, less, stylus.
De debò? Tudushka? N'hi ha milers. Però creieu-me, hi ha una raó per a aquesta popularitat.
L'aplicació Tudu és una manera fantàstica d'assegurar-vos que enteneu els conceptes bàsics. Proveu d'escriure una aplicació en Javascript vainilla i una al vostre marc preferit.
Aprèn:
Crea tasques noves.
Comproveu que els camps estiguin emplenats.
Tasques de filtre (completes, actives, totes). Ús filter и reduce.
Entendreu com funcionen tant les aplicacions web com les natives, cosa que us diferenciarà de la massa grisa.
Què estudiarem:
Sockets web (missatges instantanis)
Com funcionen les aplicacions natives.
Com funcionen les plantilles a les aplicacions natives.
Organització de rutes de processament de sol·licituds en aplicacions natives.
РўРμРєСЃС, РѕРІС <Р№РμРґР ° РєС, РитС
L'objectiu d'un editor de text és reduir l'esforç dels usuaris que intenten convertir el seu format en un marcatge HTML vàlid. Un bon editor de text permet als usuaris donar format al text de diferents maneres.
En algun moment, tothom ha utilitzat un editor de text. Així que per què no crea'l tu mateix?
Клон Reddit
Reddit és una agregació de notícies socials, classificació de contingut web i lloc de discussió.
Reddit ocupa la major part del meu temps, però continuo passant-hi el temps. Crear un clon de Reddit és una manera eficaç d'aprendre a programar (mentre navegueu per Reddit alhora).
Reddit us ofereix un molt ric API. No deixeu de banda cap funció ni feu les coses a l'atzar. En el món real amb clients i clients, no podeu treballar a l'atzar o perdreu la feina ràpidament.
Els clients intel·ligents s'adonaran immediatament que la feina s'està fent malament i trobaran algú més.
Si escriviu codi Javascript, és probable que utilitzeu un gestor de paquets. Un gestor de paquets us permet reutilitzar el codi existent que altres persones han escrit i publicat.
Entendre el cicle de desenvolupament complet d'un paquet proporcionarà una experiència molt bona. Hi ha moltes coses que necessiteu saber quan publiqueu codi. Heu de pensar en seguretat, versions semàntiques, escalabilitat, convencions de denominació i manteniment.
El paquet pot ser qualsevol cosa. Si no teniu cap idea, creeu el vostre propi Lodash i publiqueu-lo.
freeCodeCamp és una organització sense ànim de lucre. Consisteix en una plataforma d'aprenentatge interactiva basada en web, un fòrum comunitari en línia, sales de xat, publicacions de Medium i organitzacions locals que tenen la intenció de fer que el desenvolupament web d'aprenentatge sigui accessible per a tothom.
Estaràs més que qualificat per a la teva primera feina si aconsegueixes completar tot el curs.
Создайте HTTP-сервер с нуля
El protocol HTTP és un dels principals protocols a través del qual el contingut viatja per Internet. Els servidors HTTP s'utilitzen per oferir contingut estàtic com HTML, CSS i JS.
Ser capaç d'implementar el protocol HTTP des de zero ampliarà el vostre coneixement de com interactuen les coses.
Per exemple, si utilitzeu NodeJs, ja sabeu que Express proporciona un servidor HTTP.
Com a referència, mireu si podeu:
Configureu un servidor sense utilitzar cap biblioteca
El servidor ha de publicar contingut HTML, CSS i JS.
Implementació d'un encaminador des de zero
Supervisar els canvis i actualitzar el servidor
Si no saps per què, utilitza Anar lang i intenteu crear un servidor HTTP Caddie des de zero.
Десктопное приложение для заметок
Tots prenem notes, no?
Creem una aplicació de notes. L'aplicació necessita desar notes i sincronitzar-les amb la base de dades. Creeu una aplicació nativa amb Electron, Swift o el que vulgueu i el que funcioni per al vostre sistema.
No dubteu a combinar-ho amb el primer repte (editor de text).
Com a avantatge, proveu de sincronitzar la vostra versió d'escriptori amb la versió web.
Подкасты (клон Overcast)
Qui no escolta podcasts?
Creeu una aplicació web amb les següents funcionalitats:
Crear un compte
Cerca podcasts
Valora i subscriu-te als podcasts
Atura i juga, canvia la velocitat, les funcions cap endavant i enrere durant 30 segons.
Proveu d'utilitzar l'API d'iTunes com a punt de partida. Si coneixeu altres recursos, si us plau, publiqueu-los als comentaris.