Цели и задачи проекта
Цели данного проекта:
- Постепенное построение продукта: начиная с витрины с простым статичным бэкендом в форме json файлов и заканчивая полноценным маркетплейсом со сторонним headless e-commerce решением.
- При разработке должны использоваться последние проверенные достижения Vue.js экосистемы и лучшие практики в разработке программного обеспечения.
- Проект должен быть примером грамотной реализации проекта по разработке ПО, начиная с архитектуры и заканчивая кодом.
- Программная система должна быть удобна для использования, кастомизации и развертывания для человека, не знакомого с Vue, - то есть, представлять из себя продукт для конечного пользователя.
Нефункциональные требования (software quality attributes)
- Высокий UX
- Производительность
- Безопасность
- Функциональность
- Расширяемость
- Понятный задокументированный чистый код, использование лучших практик
Общие функциональные требования
- PWA
- Глубоко настраиваемые темы. Как общие, так и для каждого магазина маркетплейса.
- i18n (интернационализация)
Этапы развития приложения (приблизительно)
- Витрина (показ каталога категорий и товаров из них)
- Бэкенд и база данных
- Поиск по товарам, маркетплейс (отдельные магазины)
- UI/UX
- Интеграция с E-commerce headless решением
- Аутентификация и авторизация
- Корзина для покупок, оформление заказов, личный кабинет покупателя
- Добавление различного функционала: методы оплаты, доставки, рейтинги товаров, отзывы покупателей, customer service
- SEO оптимизация
- Административная панель для магазинов маркетплейса
Разработка будет вестись постепенно, по этапам, описанным выше. После каждого этапа должно получаться рабочее (продуктовое) приложение. Разбиение большой задачи на небольшие подзадачи и всего процесса стадии сильно упрощает управление проектом и повышает вероятность итогового положительного исхода.