Друкарня від WE.UA

Передмова

Даний допис було опубліковано 23 лютого 2021 року на сайті з яким я більше не хочу мати нічого спільного через країну його походження. Тому з релізом Друкарні вирішив перепостити довгочит сюди з мінімальною корекцією.

Ця публікація написана джуном для джунів (але можливо спеціалісти більш високого рівня теж знайдуть щось для себе / своїх падаванів).

Навіщо потрібні pet проєкти?

Для саморозвитку як розробника та закріплення вивченого матеріалу.

Якщо ти щоденно муштруєш теорію: читаєш статті, дивишся туторіали, але при цьому не застосовуєш вивчене на практиці, то часу на засвоєння обраної теми знадобиться в рази більше.

Для працюйочого розробника pet проєкт чудова можливість абстрагуватись від робочих задач і зануритись в цікаву тему. Часто на розробку домашніх проєктів немає багато часу через, що код потрібно писати швидко і багато, а інформацію шукати по суті не відволікаючись на зайве.

Для джуна без постійного місця роботи, pet проєкт може замінити ту саму роботу. Під час розробки ти ще глибше занурюєшся в тему, а іноді знаходиш нові об'єкти для вивчення.

Підсумовуючи pet проєкти нам потрібні для:

  • вивчення / закріплення нового матеріалу;

  • отримання задоволення від розробки чогось, що тобі цікаве;

  • поповнення свого портфоліо;

  • (bonus) є шанс, що твій pet проєкт може комусь сподобатися і тоді з цього можна отримати фінансову вигоду.

Як вибрати та на що звернути увагу?

Я розглядав це питання зі сторони фронтенд розробника і, можливо, для інших галузей наведені нижче тези будуть не валідні.

Найголовніше — розробка має приносити задоволення. Технології, дизайн або щось ще не повинні викликати у тебе почуття відрази, інакше такий проєкт може зупинитися на етапі першого комміту.

Технології

Якщо ти обрав певні технології для свого домашнього проєкту, то швидше за все вони тебе цікавлять і проблема, наведена вище, тебе не стосується. (Чи тебе змушують писати на тому, що тобі огидно?)

Дизайн

Тут все залежить від людини та ситуації. Є два варіанти:

  1. Напружитись та зробити крутезний дизайн.

    Плюси:

    • lvl up як дизайнера;

    • зазвичай власний дизайн дуже приємний;

    • через те, що це власний макет, ти в ньому добре орієнтуєшся і ще на етапі дизайну продумуєш деякі фічі.

    Мінуси:

    • зазвичай на це йде багато часу і може вийти ситуація, що макет створювався довше, ніж сам застосунок.

  2. Знайти готовий дизайн та працювати з ним.

    Плюси:

    • швидко (хоча пошук може затягтися, про це нижче);

    • не потрібно відволікатися на дизайн.

    Мінуси:

    • не завжди можна знайти дизайн для власного задуму, особливо якщо він не типовий;

    • готові популярні безкоштовні макети часто вже використали тисячі розробників, а не популярні не завжди гарні.

Ідея

Якщо авторські ідеї не твоє, то на просторах інтернету існують безліч тем проєктів, в яких можна використовувати будь-які потрібні тобі технології.

Ось кілька вічно актуальних прикладів:

  • список задач (todo list);

  • застосунок погоди;

  • менеджер покупок;

  • сайт портфоліо;

  • кіно сайт;

  • калькулятор;

  • блог;

  • магазин чогось.

Особистий досвід

У цьому блоці я розповім як вигадувались / створювались мої pet проєкти.

Початок (AniList)

Йшов липень 2020 року. Через семестр вивчення JavaScript в коледжі я вирішив вивчити якийсь фреймворк. Обрав React. Через декілька днів знайомства з фреймворком я натрапив на серію відеоуроків по розробці вебзастосунку піцерії на ютубі та вирішив одразу застосовувати вивчене в реальному проєкті. Але просто переписувати код з відео в IDE було не цікаво, тому я вирішив зробити аніме список.

Вище я писав про два варіанти отримання дизайну для проєкту. Який з варіантів обрав я? Обидва. Для початку я зайшов на вже існуючі сайти з такою ж тематикою потім пролистав Behance і зібрав свого "франкенштейна" з власних ідей і шматків вже готових дизайнів.

AniList design screenshot

По готовому макету я зрозумів, що потрібно буде якось отримувати інформацію про аніме (API, AJAX), десь зберігати її (Redux), а також якось організувати авторизацію і збереження інформацію про користувачів (Firebase) + робота з версіями файлів (GIT, GitHub). У підсумку я мав ознайомитися як мінімум з 5 новими технологіями окрім React.

І в цьому я вважаю один з плюсів pet проєктів. Починаєш вчити щось одне, а наприкінці освоюєш набагато більше, ніж очікував.

ToDo list

ToDo list design

Наступним проєктом мав стати todo list. Мій одногрупник (теж початковий розробник) повинен був робити frontend на Angular, а я (несподівано) backend.

Тут мені довелося поринути у світ backend-у і може не вивчити, але добре так ознайомитися з NodeJS, Express, MongoDB, mongoose, cors, dotenv, способами авторизації, деплоєм на Heroku та ще глибше зрозуміти роботу API.

За підсумком вийшло так, що і я, і мій товариш, кожен собі писали back і front end.

Решта

Потім було ще кілька проєктів. Коротко напишу, що із них я виніс для себе.

Застосунок погоди:

  • малювання на canvas-ах;

  • робота з геолокацією;

  • React анімація компонентів.


Shedaily (front & back end) - застосунок який парсив розклад із сайту коледжу в якому я вчився і приводив його в приємний вигляд:

  • парсинг інформації;

  • робота з Excel таблицями в NodeJS.


Terminal website - надихнувшись одним проєктом створив простий сайт з контактами в стилістиці старого монітору:

  • SCSS;

  • Gulp.


Менеджер підписок:

  • MobX;

  • перемикання кольорових тем.


Магазин аксесуарів для телефонів (backend) (так і не був завершений):

  • глибше пізнав MongoDB + mongoose;

  • GraphQL.


Сайт портфоліо:

  • JAM stack;

  • Gatsby;

  • створення кастомного курсора.

Висновок

Нещодавно виникла ідея переписати свій перший pet project (Аніме список), але тепер із новими навичками: backend на NestJS + GraphQl замість Firebase, frontend NextJS, ну і дизайн переробити. Ця думка є результатом мого прогресу котрий я здобув завдяки pet проєктам.

"Usus est magister optimus" — досвід – найкращий учитель

Update 16.04.2023

Хоч допис був написаний понад двох років назад я вважаю, що інформація в ньому все ще актуальна і може комусь допомогти.

На даний момент список моїх пет-проєктів трохи більший ніж описаний вище. Anime list я так і не переписав, але замість нього почав більш масштабний застосунок для перегляду аніме, який поки висить в статусі paused через відсутність часу на розробку. Тому якщо буде активність та інтерес з вашої сторони, і час та натхнення з моєї, можу освітити неописані проєкти або детально розписати розробку крайнього застосунку.

Статті про вітчизняний бізнес та цікавих людей:

  • CRM keyCRM: зручне рішення для продажів, комунікацій і керування командою

    Успіх компанії залежить від того, наскільки швидко вона здатна опрацьовувати вхідні запити. Коли дані про клієнтів розпорошені між різними месенджерами, виникає хаос. CRM keyCRM пропонує вихід із цієї ситуації, об’єднуючи всі робочі процеси в єдиному зручному інтерфейсі.

    Теми цього довгочиту:

    Crm
  • Різниця між UX і UI, яку варто зрозуміти ще до першого заняття

    Більшість людей, які обирають професію UX чи UI, довго вважають це одним і тим самим. Насправді це два різних підходи до роботи над продуктом, і плутанина між ними гальмує розвиток ще на старті.

    Теми цього довгочиту:

    Ui-ux
  • Логіка змін: як SEO оптимізація прибирає бар’єри до зростання

    Багато компаній приходять у SEO з очікуванням швидкого ривка, але дійсний ефект починається там, де сайт перестають латати точково. Тому в центрі роботи стоїть не окрема дія, а послідовні зміни. Оптимізація сайту має прибирати системні перешкоди, а не маскувати їх новими текстами

    Теми цього довгочиту:

    Seo
  • Музичний футуризм: неймовірні інструменти XXI століття

    Еволюція музичних інструментів це один із найкрутіших проявів потужності людської уяви і потреби виразити себе через мистецтво. І хоча багато традиційних інструментів майже не змінилися за століття існування, інновації і пошук не зупиняються.

    Теми цього довгочиту:

    Музичні Інструменти
  • Стіл – всьому голова? Так, якщо його правильно підібрати

    Коли починаєш вивчати пропозицію меблевих фабрик щодо столів, дивуєшся кількості варіантів, адже вони пропонують різні розміри, різні матеріали, різноманітні форми та дизайни. Скористайтесь нашим каталогом MebelOK, щоб Ви могли підібрати найкращу модель для Вашого приміщення

    Теми цього довгочиту:

    Столи
Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
Bilyi
Bilyi@white

1Довгочити
1.6KПерегляди
15Підписники
На Друкарні з 15 квітня 2023

Це також може зацікавити:

Коментарі (9)

Повністю навчився кодити на пет проєктах + книги. Схема проста.

  1. Прочитав

  2. спробуй зробити

  3. спробуй зробити трохи складніше

  4. спитай у гугла як це робити

  5. зроби

  6. читай книгу далі

Це також може зацікавити: