Все, что я узнал, приземлившись на моего первого платного клиента
6 марта 2022 г.Даже после нескольких лет программирования и года веб-разработки я боялся выполнять какую-либо работу для реального клиента. Хотя я хорошо разбираюсь в том, что знаю, работа с ожиданиями другого человека казалась мне шагом вперед. Именно это заставило меня опасаться делать решительный шаг в создании веб-сайта для кого-то еще (тем более, что они будут платить мне за это). Но, несмотря на то, что мне предстояло узнать много нового и преодолеть препятствия, я смог выполнить работу и оставить очень счастливого клиента.
Трудности
Было несколько проблем, с которыми я столкнулся, когда перешел от создания и кодирования собственных проектов к работе с кем-то еще. Большинство проблем, с которыми я столкнулся, были вообще не связаны с кодом. Вот некоторые из них
Недостаточно информации перед началом работы.
Основываясь на нескольких текстах, отправленных через Facebook, я подумал, что у меня есть хорошее представление о том, чего хочет клиент. Сайт предназначался для еды на вынос, и я имел в виду одностраничный сайт с фиксированным содержанием. Изучив требования клиента еще немного, я понял, что меню нужно будет обновлять каждую неделю. Что привело меня ко второй моей проблеме.
Что делать с бэкендом
Все, что я сделал до этого момента, было личными проектами по программированию. Если мне нужно было что-то обновить, я заходил в код и вносил любые необходимые изменения. Ну, здесь это не сработает. Мне нужно было найти способ, чтобы клиент самостоятельно обновлял определенную информацию.
После небольшого исследования я понял, что система управления контентом решит эту проблему; Я просто должен был выбрать один. WordPress, похоже, не соответствовал тому, что я хотел (хотя я уверен, что со временем это могло бы получиться). В конце концов, я выбрал contenful. Это позволило мне добавить пару элементов и получить их с помощью REST API, а затем добавить их в код так, как я хотел. Это было идеальным решением для чего-то, что, как мне казалось, может быть большой проблемой.
Контент клиента
Еще одним отличием этого от работы над личными проектами было то, что клиент предоставил мне контент (копии и изображения) для добавления на сайт. Я привык искать свои собственные изображения и писать свои собственные копии. Приятно не беспокоиться об этом, но это также приводит к собственным проблемам. У меня есть писательский опыт, и я привык писать по-своему. Мне пришлось отказаться от собственного мнения и принять стиль письма клиента.
Хотя я сам использовал большинство изображений для сайта, некоторые из них были предоставлены мне клиентом. Я решил здесь, что я хотел бы предложить некоторые правки. Для изображения профиля я удалил фон, добавил простой цвет и изменил форму на круг. Я не знал, сколько дизайна/редактирования мне нужно будет сделать, но клиент был доволен изменениями, и это не заняло у меня много времени.
Хостинг
Это еще одна область, не относящаяся к коду, в которой у меня не было большого опыта. Однако я думаю, что большинство людей не были бы слишком довольны, если бы вы сказали им, что их веб-сайт готов, и выгрузили кучу файлов на их электронную почту. Очевидно, что веб-сайт должен быть размещен и запущен в Интернете. Я разместил [мой веб-сайт] (http://johnpalmgren.co.uk/) (работа в процессе, ребята) с помощью Netlify, но я не чувствовал, что у меня есть большой опыт.
Это была еще одна ситуация, когда меня спасло много гугления. В конце концов, я решил разместить его на Firebase. У них довольно хорошая документация, и было относительно легко настроить и запустить ее. Это также имело дополнительное преимущество, заключающееся в проверке сайта с сертификатом SSL. Что было не так просто, так это заставить разные учетные записи работать вместе так, как я хотел.
Пароли и учетные записи
Самая большая проблема, с которой я столкнулся, заключалась в том, как управлять учетными записями, не имея полного доступа. Например, я направил клиента в Google Domains для покупки доменного имени. Для нее имело смысл сделать это, поскольку она будет платить за это. Однако, когда я приступил к настройке хостинга для сайта, у меня не было доступа к профилю доменов Google, и поэтому я не мог подтвердить право собственности на доменное имя. Чтобы усложнить ситуацию, Google Domains использует идентификатор Google, поэтому для клиента, чтобы поделиться своим паролем со мной, было бы очень небезопасно. Немного погуглив позже, я смог дать клиенту инструкции, которым нужно следовать, чтобы добавить меня в качестве администратора и иметь возможность проверить доменное имя.
То же самое произошло в обратном порядке с Contentful. Я создал учетную запись на свое имя, чтобы настроить контент. Затем, когда пришло время предоставить клиенту доступ, я изменил имя пользователя и адрес электронной почты на ее данные. Это было не так просто, поскольку ей нужно было подтвердить свой адрес электронной почты. Я уверен, что есть более простой способ сделать это, но на этот раз это был хакерский способ, который сработал для меня.
Создание счета
Еще один новый опыт для меня! Я не ожидал, что меня попросят выставить счет, поэтому снова обратился к моему хорошему другу Google. На самом деле это было довольно легко исправить. Я скачал шаблон и заполнил свои данные, и все было сделано в течение 15 минут.
На самом деле сложные части этого проекта мне понравились больше всего. Я узнал много нового и поэкспериментировал с новым программным обеспечением. Уходя из проекта, я гораздо лучше понимаю аспекты создания веб-сайта, которые выходят за рамки написания кода.
Победы
Помимо некоторых проблем, были и определенные победы.
Я нашел того, кто заплатит мне за то, что я знаю. Это было довольно круто. Денег было немного, но было приятно зарабатывать, занимаясь любимым делом.
Другой победой стало осознание того, что кодирование веб-сайта не было трудным. Я провел так много часов в борьбе с JavaScript, что было приятно, когда все встало на свои места. С точки зрения кода это был не особенно сложный проект, но он дал мне уверенность, что я могу взяться за подобные проекты.
Оригинал