Giter Site home page Giter Site logo

flower_shop_application_bsuir's Introduction

Тема: цветочный магазин.

Роли: Клиент, Админ, Курьер, Аноним. Для регистрации есть локальный провайдер (база) и внешний - google. Компания - базовая компания , сам цветочный магазин, где хранится инфа об организации. Магазин - может быть один и более в компании, по разным адресам и тд. Каждый магазин менеджиться отдельно, в каждый магазин можно добавить цветы\букеты. Цветок - продукт, который можно добавить в какой либо магазин Букет - продукт, который можно добавить в какой либо магазин У обоих подразумевается одна картинка, большиство полей получаются с сервера, устанавливаются только несколькою Корзина Заказ История заказов Личный кабинет Страница компании Страница магазина Каталог продуктов Форма смены пароля Личные кабинет всех пользователей Страница для курьера где есть текущие заказы на сегодня

Use cases:
  1. Написать страницу login (local + Ouath2 , использовать только Google) (после логоина подразумевается редирект на страницу продуктов)

  2. Написать страницу регистрации (только local)

  3. Написать страницу Личный кабинет, где будет храниться только личная информация пользователя, которую можно менять.

  4. Написать страницу Компании. На этой странице можно добавлять\изменять всю инфу о компании.

  5. Написать компонент для добавления Магазина (отдельную страницу)

  6. Написать компонент для просмотра Магазина. На этой странице есть tab (либо другое испольнение) Где храняться все Магазины компании Каждый магазин можно детально открыть, просмотреть\изменить информацию о нем.

  7. Написать страницу добавления Цветка в Магазин для админа.

  8. Написать страницу добавления Букета в Магазин для админа.

  9. Написать страницы просмотра товаров Страница 1. просмотр цветов + сортировка\фильтрация по базовым полям + пагинация Страница 2. просмот буктов + сортировка\фильатрция по базовым полям + пагинация

  10. Написать компонент для детального просмотра товара (вижу как всплывающее окно по клику на товар)

  11. Написать страницу Корзины. В нее добавляется товар, внутри корзины можно изменить колво, удалить товар. Корзина хранится в draft в БД (!) Значит при обновлении страницы данные не пропадают. После выбора товаров происходит оформление заказа. 10.1 Вводится информация об варианте получения (самовывоз или доставка (если доставка, то адрес который указывается на карте: То есть мы вводим в input адрес и нам указывается метка на Google Map и потом это все красиво отправляется на сервер для дальнейшей постройки маршрута, вводится удобный день + время доставки.) Данные об клиенте если зареган берутся из профиля + возможность поменять номер телефона Если аноним то обязательно к вводу(!) Показывается финальная сумма, разделенная на сумму за цветы + сумма за доставку + общая сумма) 10.2 После создания заказа редирект на список заказов 10.2.1 Список заказов разделен на 2: в первом активный заказ, во втором выполненные заказы 10.3 Страница списка заказов с пагинацией и в ней лежат все заказы клиента 10.4 При нажатии на заказ открывается новой страницей и там детальная информация + статус 10.5 Если заказ был выполнен, появляется форма для отправки отзыва + бальной оценки (0-10)

  12. Страницы для просмотра заказов должны быть написаны не привязываясь к юзеру, тк они будут использываться и для Админа, и для клиента, и для курьера.(!)

  13. На странице компании у Админа есть возможность скачать отчеты по последним нескольким месяцам (чисто запрос на сервер и получается файл)

  14. Написать страницу для просмотра всех зареганых пользователей админом

  15. На странице Компании добавить tab для просмотра всех курьеров компании

  16. На странице Компании добавить в tab для просмотра всез курьеров компании, добавить вспылвающее окно для добавления нового курьера (идеально взять форму регистрации юзера + дописать новые поля)

  17. Написать страницу личного кабинета курьера

  18. Написать страницу просмотра истории заказов у курьера ПО ДНЯМ

  19. Написать страницу просмотра заказов на сегодня (то есть на день) сделать ограничение не более чем N заказов для курьера в день (мб 8) 17.1 На этой странице есть:

    1. все заказы в виде списка по порядку (сегменты доставки) + есть чек бокс для того чтобы маркнуть что заказ выполнен
    2. карта на которой отмечены все адреса получателей
    3. рядом есть форма где отмечено: 1. Время которое будет затрачено на доставку + расстояние 2. Сумма денег за все заказы
  20. Написать форму для всех пользователей для смены пароля

    Стэк на фронт: React, antd, redux, oauth2 support, webpack, bootstrap (optional)

    Стэк на бэк: Spring boot, web, data, security, ouath2, mail, validation, modelMapper, lombok, openpdf.

DB: mysql

Info: 
  1. Antd components: https://ant.design/components/overview/
  2. Oauth2 intro: https://www.digitalocean.com/community/tutorials/oauth-2-ru
  3. Example: https://github.com/YuraLu/SpringBoot-JPA-Data-OAuth2-Security-Sensor-App/tree/master/monintorsensor_clientside
  4. Redux info: https://rajdee.gitbooks.io/redux-in-russian/content/

flower_shop_application_bsuir's People

Contributors

yuriluk avatar ilyachakun avatar paltoh avatar

Watchers

 avatar

Forkers

polinashulya

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.