1. Простое приложение – прототип интернет-магазина. Пример https://rozetka.com.ua/
Приложение должно иметь следующий функционал:
- регистрация пользователя
- выбор в избранное
- выбор в корзину
- оформление заказа (с записью в бд)
На первой странице краткая информация о сервисе (тизер, реклама, преимущества, описание почему мы), форма входа (мейл, пароль) или регистрации пользователя системы (мейл, пароль, Имя, Фамилия, телефон, дата рождения, адрес) – проверка пользователя по бд.
Страница Товары – перечень (реализовать вью списком и таблицей с возможностью переключения) включающий наименование, маленькую картинку, цену, кнопку избранное (в виде звездочки или сердечка) кнопку добавить в корзину (выбор колличества обязательно). По клику на товар открывается страница товара с большой картинкой или несколькими, с подробным описанием и кнопкой в корзину + установка количества (+/-).
На странице с товарами надо сделать несколько сортировок (по алфавиту, по популярности и по цене) несколько фильтров (по бренду, по диапазону цен, по категории)
Страница Корзина. В корзину (отдельный список на отдельной странице в том же окне) складываются выбранные на странице «Товары» товары, имеется возможность изменить количество и суммируются все суммы по строкам в Итого. Корзина должна быть динамической и не стираться например 3 суток. При следующем заходе в браузер должно выдаваться уведомление что в корзине есть неоформленный заказ. В момент добавления в корзину товара, создаем заказ и все последующие добавленные товары добавляем в этот заказ. Но это скорее всего будет грузить сервер и трафик. Поэтому лучше обрабатывать событие закрытия страницы и по событию записываем корзину в заказы со статусом корзина и номером без времени (Х-233 например).
Кнопка «Оформить заказ», по ней записываем заказ в БД (дата, время, номер который генерируется автоматически и состоит из наименования проекта+айди заказа+дата+время (без секунд) (пример Х-номер_год_месяц_дата_время), общая сумма, айди клиента, и статус по умолчанию) и открывается окно с данными пользователя – ФИО, тел, адрес (они из базы, если есть; если нет, то проверка заполнения с валидацией), если все заполнено верно активной становиться кнопка «оплатить», после нажатия открывается страница «спасибо за заказ и его оплату, мы доставим ваш заказ в течении 2-х часов» (эта страница активна по времени чтобы успеть прочитать – секунд 5 наверное, заказу выставляется булевское свойство в оплачен), после этого перенаправление на главную страницу с перечнем товаров.
Статусы заказа: корзина, оформлен, оплачен, в обработке, на доставке, выполнен. В этом приложении обрабатываются только статусы корзина, оформлен, оплачен – остальные будут обрабатываться другими приложениями.
Страница Кабинет в котором видим все данные профиля пользователя с возможностью редактирования всех полей(которые не идентификаторы) и историю заказов со статусами (выводим номер, дату, время, сумму, и статус).
Шапка. – Поиск, Корзина, Избранное (отдельная страница с избранным, в избранное попадает из страницы товара при нажатии на звездочку или сердечко). Под шапкой название страницы или Название категории товара в которой находимся.
Меню слева:
- Товары(каталог)
- Избранное
- Корзина
- Кабинет
- Контакты(тел, мейл, ссылки на соцсети)
- Доставка и оплата(текст с условиями доставки)
- Вопросы и ответы (набор вопросов списком, разворачивающиеся кнопкой + ответ к каждому вопросу)
- Выход.
Файлы классов будут предоставлены.
По максимуму проверять все граничные параметры.
Оформить все страницы в едином стиле строго и минималистичный. Все вью подогнать под все распространенные размеры экранов. Комментарии к коду обязательны.