Мы с важной новостью: с 28 февраля 2025 года сервис Хабр Фриланс прекратит свою работу.

Купить услуги можно до 28 февраля 2025, но пополнить баланс уже нельзя. Если на вашем счете остались средства, вы можете потратить их на небольшие услуги — служба поддержки готова поделиться бонусами, на случай, если средств немного не хватает.
R50 8bcade1c72b3f895cdb4ebfb050438a4
Android Developer,Fullstack JS

Alpacino Pizzeria! Мобильное приложение для доставки пиццы [Kotlin/JT]

Добавлено 26 июл 2024 в 17:30
Репозитории проекта
Дизайн Figma

Мобильное приложение Alpacino Pizzeria! создано для быстрых и удобных заказов пиццы с доставкой к вашему дому.

Приложение
взаимодейсвует с сервером (rest api), чтобы получать из базы данных
информацию о продуктах (название, описание, цена, фото и т.д.)

Приложение написано на Kotlin, для пользовательский интерфейса (aka UI) используется Jetpack Compose для лучшего опыта UI/UX

Для сетевых запросов используется ktor-client
Для dependency-injection использую легкий koin
Как для сохрания закруженных с сервера продуктов, так и для добавления их в корзину используется Room.

-----

Четыре месяца назад я начал свой первый серьезный проект - Alpacino Pizzeria!
Это Мобильное приложение для заказа пиццы с доставкой к вашему дому.

Однажды идея просто возникла и принялся думать..

Выбрав
технологии для мобильного приложения, пришлось прихватить собой целый
багаж знаний о том как строится клиент-серверное взаимодействие. Ведь
мало написать мобильное приложение, информацию о продуктах тоже нужно
где-то хранить. А так же нужно как-то её изменять.

Проект разбился на 3 составляющие:
1.
Сервер (rest api) хранящий информацию о продуктах и предоставляющий
возможность отправлять запросы на добавление, удаление, изменение
продуктов (aka обычные CRUD операции)

2. Мобильное приложение, через которое клиент будет заказывать пиццу (и т.д.)

3.
Админ-панель (что-то вроде cms) позволит изменять информацию о
продуктах (Позже.. понадобилось податься в дизанеры. ) 4. Дизайн в Figma
мобильного приложения Первым шагом я написал (1) бекенд на nodejs, я
уже пробовал библеотеку express для http запросов, и в качестве эксперемента нашёл замену.. быстрый и легкий fastify.
Решение как по мне оказалось удачным. через пол-тора месяца у меня уже
была возможность выполнять CRUD операции над продуктами, категориями,
опциями, посылая http запросы через postman.

Вторым шагом я
начал админ-панель (3 пункт выше) в стеке nuxtJs/vue3/bulma, немного
прошлого опыта, времени и немного правильных вопросов к gpt, и вот уже
через месяц вы можете управлять вашей базой данных через удобный UI.
Нынче век нейросетей облегчает жизнь людей, почему мы их не используем в
разработке проектов?

Третьй шаг (4 пункт выше) это был дизайн
мобильного приложения, не зная как и что будет выглядить, я не-мог
сдвинутся дальше, и решение проблемы - сделать дизайн! Я не-занимался
дизайном приложении, однако освоил figm'у уже в процессе. Я расписал,
алгоритм действии с точки зрения клиента, что он будет нажимать, куда
смотреть чтобы сделать заказ и т.д. Я представил какие у приложения
будут экраны, немного посмотрел у как сделан дизайн у других (без базы
референтов не куда в дизайне,.), добавил чего не хватает.

Четвертый
шаг - (2 пункт выше) мобильное приложение в стеке Kotlin/Jetpack
Compose/Koin/ktor-client/room/..., на данную дату реальзованы навигация и
3 экрана, в плане забирать с сервера информацию о продуктах, сделать 4
экран, для детального просмотра продукта, добавить добаление в корзину и
так далее.
812e0c5f31 83def42d72 8d18f9ba3c 142b58187b