Друкарня від 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 через відсутність часу на розробку. Тому якщо буде активність та інтерес з вашої сторони, і час та натхнення з моєї, можу освітити неописані проєкти або детально розписати розробку крайнього застосунку.

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

  • Вітаємо з Різдвом Христовим!

    Друкарня та платформа WE.UA вітають всіх наших читачів та авторів зі світлим святом Різдва! Зичимо всім українцям довгожданого миру, міцного здоровʼя, злагоди, родинного затишку та втілення всього доброго і прекрасного, чого вам побажали колядники!

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

    Різдво
  • Каблучки – прикраси, які варто купувати

    Ювелірні вироби – це не тільки спосіб витратити гроші, але і зробити вигідні інвестиції. Бо вартість ювелірних виробів з кожним роком тільки зростає. Тому купуючи стильні прикраси, ви вигідно вкладаєте кошти.

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

    Як Вибрати Каблучку
  • П'ять помилок у виборі домашнього текстилю, які псують комфорт сну

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

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

    Домашній Текстиль
  • Як знайти житло в Києві

    Переїжджаєте до Києва і шукаєте житло? Дізнайтеся, як орендувати чи купити квартиру, перевірити власника та знайти варіанти, про які зазвичай не говорять.

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

    Агентство Нерухомості
  • Як заохотити дитину до читання?

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

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

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

1.5KПрочитань
2Автори
15Читачі
На Друкарні з 15 квітня

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

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

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

  1. Прочитав

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

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

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

  5. зроби

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

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