Огонь в FireBook

Это было давно. Я играл с идеей создать систему назначения парикмахерской, так как я начал Flatiron School в прошлом году. Это была общая концепция, лишенная формы, поскольку у меня не было необходимых инструментов, чтобы воплотить ее в жизнь, вроде класса-конструктора JavaScript. У меня была идея, но не было способа воплотить ее в жизнь.

Когда я начал у уроков JS, идеи придут и поехали, я бы написал их на моем телефоне и позволил им маринован, глядя на них каждые пару дней, чтобы увидеть, понравилась ли мне концепцию, если я не сделаю, я бы Удалите его и позвольте другим соревноваться за внимание, таким образом, как это было похоже на голодные игры, но менее смертоносным, а приз, являющийся шансом стать актуальным кодом. FireBook легко выиграл, просидев неделю над моими заметками.

Как использовать FireBook

Использование Firebook довольно прямо вперед, и я попытался сделать интернет-интерфейс так легко понять, не делая его слишком загроможденным с ненужными метками. Когда вы впервые откроете веб-приложение, когда уже созданные дни загружены на правой стороне экрана, у каждого из них есть кнопка «Отредактировать», чтобы обновить эту информацию о том, чтобы обновить эту день и кнопку «Удалить», чтобы навсегда удалить его.

В верхней части вы увидите кнопку «Добавить день», рядом с баннером, это первое, что вы сделаете правильно, прежде чем открывать парикмахера утром, вы выбираете часы открытия и закрытия и нажмите «Создать», ваш рабочий день будет добавлен в список дней.

При нажатии на время нажима на день, он будет выделен, а диапазон открытого часа будет показан в середине, через полчасовые приращения выберите время и введите имя парикмахера и клиента, получая стрижку, нажмите «Сохранить». Нажав на определенное время, вы увидите все встречи в это время, которые можно отредактировать или полностью удалить, нажав кнопки редактирования/удаления прямо под ними. Firebook сохраняет пространство на стойке регистрации и удаляет потребность в физической книге назначения.

Наладить работу

Из моих предыдущих проектов я узнал, что подготовка является ключевым моментом. Очень легко увлечься волнением и начать кодировать сразу без компаса, чтобы сказать вам, куда идти дальше, поэтому на этот раз я сосредоточился на том, чтобы все выложить, включая визуальные аспекты этого. Я использовал Draw.io, чтобы набросить каждую форму и меню, как все должно выглядеть, как только все происходит и работает.

На этот раз рельсы были намного проще, чем мои предыдущие проекты (рельсы как API - это удивительно), поэтому большинство моего планирования было сосредоточено на переднем конце.

Вызовы времени

Независимо от того, насколько хорошо выглядит код, привлекательным веб-приложение делает презентация, также известная как CSS. В последний раз я недооценил его, поэтому сосредоточился на ознакомлении с основными концепциями, в основном с центрирующими элементами. Поскольку это одностраничный проект, мне нужно было найти способ отображать разные элементы в одной и той же части страницы, при этом некоторые элементы вокруг них оставались динамическими. Как только я понял, как заставить CSS-сетку работать, все встало на свои места, и я смог сосредоточиться на JavaScript.

Одной из сложных частей была работа со временем. Пользователь выбирал часы открытия и закрытия парикмахерской в ​​формате am/pm, но при отправке на сервер они сохранялись в 24-часовом формате, что упрощало проверку. Когда часы были извлечены из базы данных, мне пришлось преобразовать их обратно в AM / PM и отображать

на каждые полчаса, что магазин открывается, звучит достаточно просто, пока не поймет, что он должен быть в состоянии переключаться между AM /pm автоматически, и он должен знать, что после 12:00 наступает 1:00. Я мог бы пойти по простому пути и ограничить часы открытия и закрытия определенным временем, но что в этом интересного. Этот один метод позаботился об этом. Небольшой совет: когда у вас есть что-то более сложное, говорите о псевдокоде со своим резиновым утёнком (или эквивалентным артефактом). Это поможет решить такие проблемы:

После этого все пошло гладко, наличие плана имеет значение между застреванием и достижением цели.

Неудачи – это скрытое благословение

Как и в каждом проекте, который я сделал до сих пор, самая большая награда не просто бегать, но уроки, извлеченные по пути (Клише, но правда.) Я учиюсь, делая, так что неудачу и снова в чем-то, пытаясь разные вещи, пока одна из работ не закрепит концепцию, с которой я боролся. Переход от процедурного JS к объектно-ориентированному JS потребовал небольшой корректировки, но после написания первого класса в FireBook все обрело смысл:

Как хороший сыщик, вы идете по следу, смотрите, что переводит дальше, и делаете там какую-то работу, полоскаете и повторяете. Я избегал охваченным, думая о проекте, как автомобиль, вы открываете капюшон, и кажется, что так есть составляющие везде, но, как только вы узнаете, что вы смотрите, вы понимаете, что это просто куча взаимосвязанных систем, которые работают как какое-то время, но они все еще индивидуальны. У вас есть система охлаждения (радиатор, водяной насос и т. д.), трансмиссия, подвеска и многое другое, как только вы продиагностируете их как отдельные части, все становится понятным. Как и кодирование, большая картина приходит в конце с терпением.

Что ждет FireBook в будущем

Будучи косметологом, я некоторое время я находился вокруг систем бронирования, из бумажных книг, к сложному (запутанному) программному обеспечению, который занимает неделю, чтобы учиться, чтобы простые в использовании POS-системы неуклюже приспособлены для работы на салоне / парикмахере. Зная, что необходимо для эффективной и полной системы бронирования, я хотел бы добавить несколько функций, в том числе статистику. Вы сможете хранить конкретные клиенты и посмотреть, как часто они получают свои стрижки и с которыми вы могли бы также посмотреть, сколько клиентов парикмахера вырезана в день / неделю / и т. Д.

Я бы сделал полчаса

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

Заключение

Мне понравилось наслаждаться созданием каждого проекта (я люблю кодировку!) Но это взял его на другой уровень, я буквально почувствовал себя как в RPG, и переходите к более сложному полу, JavaScript 'достигает Взаимодействия с домом увлекательно, это невероятно адаптируема для всего, что я хочу сделать в интерфейсе, а инструменты, которые он обеспечивает, являются бетонными и легкими для понимания. Я с нетерпением жду того, что будет следующий большой проект, теперь, когда мой набор инструментов был расширен с JS, небо предел.