Введение в торговый центр Gulimall
Проект Gulimall направлен на создание полноценной электронной торговой системы с использованием современных технологий. В проекте применяется архитектура «фронт-энд и бэк-энд» для непрерывной разработки.
1. Введение в проект API интерфейса
2. Описание проекта
Gulimall (Торговый центр «Гуюй») — это комплексный проект электронной торговли, включающий в себя систему переднего торгового центра и систему управления задним торговым центром. Проект реализован на основе SpringCloud + SpringCloudAlibaba + MyBatis-Plus и развёрнут с помощью Docker. Система переднего торгового центра включает в себя функции входа в систему, регистрации, поиска товаров, просмотра товаров, оформления заказа, проведения акций и т. д. Система заднего торгового центра состоит из семи основных модулей: управление системой, управление товарами, управление маркетингом, управление запасами, управление заказами, управление пользователями и управление контентом.
3. Демонстрация проекта
3.1. Функции переднего торгового центра
На изображениях показаны некоторые функции переднего торгового центра, такие как вход в систему и оформление заказа.
3.2. Интерфейс входа в задний торговый центр
Показан интерфейс входа в задний торговый центр.
3.3. Главная страница
Представлена главная страница заднего торгового центра.
3.4. Функции заднего торгового центра
Показано несколько функций заднего торгового центра, таких как управление системой, управление товарами и управление заказами.
4. Организационная структура
gulimall
├── gulimall-common -- 工具类及通用代码
├── renren-generator -- 人人开源项目的代码生成器
├── gulimall-auth-server -- 认证中心(社交登录、OAuth2.0、单点登录)
├── gulimall-cart -- 购物车服务
├── gulimall-coupon -- 优惠卷服务
├── gulimall-gateway -- 统一配置网关
├── gulimall-order -- 订单服务
├── gulimall-product -- 商品服务
├── gulimall-search -- 检索服务
├── gulimall-seckill -- 秒杀服务
├── gulimall-third-party -- 第三方服务
├── gulimall-ware -- 仓储服务
└── gulimall-member -- 会员服务
5. Выбор технологии
В таблице представлен выбор технологий для реализации проекта.
Технология | Характеристика | Официальный сайт |
---|---|---|
SpringBoot | Архитектура контейнера+MVC | https://spring.io/projects/spring-boot |
SpringCloud | Микросервисная архитектура | https://spring.io/projects/spring-cloud |
SpringCloudAlibaba | Серия компонентов | https://spring.io/projects/spring-cloud-alibaba |
MyBatis-Plus | ORM-фреймворк | https://mp.baomidou.com |
renren-generator | Человек с открытым исходным кодом, генератор кода | https://gitee.com/renrenio/renren-generator |
Elasticsearch | Фреймворк поиска | https://github.com/elastic/elasticsearch |
RabbitMQ | Фреймворк очереди сообщений | https://www.rabbitmq.com |
Springsession | Распределённое кэширование | https://projects.spring.io/spring-session |
Redisson | Распределённая блокировка | https://github.com/redisson/redisson |
Docker | Фреймворк для контейнеров приложений | https://www.docker.com |
OSS | Объектное облачное хранилище | https://github.com/aliyun/aliyun-oss-java-sdk |
6. Технологии переднего торгового центра
Технология | Характеристика | Официальный сайт |
---|---|---|
Vue | Фреймворк переднего плана | https://vuejs.org |
Element | Фреймворк пользовательского интерфейса переднего плана | https://element.eleme.io |
thymeleaf | Шаблонизатор | https://www.thymeleaf.org |
node.js | Серверная часть JavaScript | https://nodejs.org/en |
7. Архитектура
7.1. Системная архитектура
Представлен график системной архитектуры.
7.2. Бизнес-архитектура
Представлен график бизнес-архитектуры.
8. Окружение разработки
8.1. Инструменты разработки
Инструмент | Характеристика | Официальный сайт |
---|---|---|
IDEA | Разработка Java-программ | https://www.jetbrains.com/idea/download |
RedisDesktop | redis-клиент для подключения к инструментам | https://redisdesktop.com/download |
SwitchHosts | Управление локальным хостом | https://oldj.github.io/SwitchHosts |
X-shell | Инструмент для удалённого подключения к Linux | Программное обеспечение |
Программное обеспечение | Описание | Ссылка для скачивания |
---|---|---|
Navicat | Инструмент для работы с базами данных | http://www.formysql.com/xiazai.html |
PowerDesigner | Инструмент для проектирования баз данных | http://powerdesigner.de |
Postman | Инструмент для отладки API-интерфейсов | https://www.postman.com |
Jmeter | Инструмент для нагрузочного тестирования | https://jmeter.apache.org |
Typora | Редактор Markdown | https://typora.io |
Среда разработки
Инструмент | Версия | Ссылка для загрузки |
---|---|---|
JDK | 1.8 | https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html |
MySQL | 5.7 | https://www.mysql.com |
Redis | Redis | https://redis.io/download |
Elasticsearch | 7.6.2 | https://www.elastic.co/downloads |
Kibana | 7.6.2 | https://www.elastic.co/cn/kibana |
RabbitMQ | 3.8.5 | http://www.rabbitmq.com/download.html |
Nginx | 1.1.6 | http://nginx.org/en/download.html |
Примечание: все инструменты, кроме JDK, устанавливаются с помощью Docker.
Этапы настройки
Настройка в среде Windows
192.168.77.130 gulimall.com
192.168.77.130 search.gulimall.com
192.168.77.130 item.gulimall.com
192.168.77.130 auth.gulimall.com
192.168.77.130 cart.gulimall.com
192.168.77.130 order.gulimall.com
192.168.77.130 member.gulimall.com
192.168.77.130 seckill.gulimall.com
Заменить указанные IP-адреса на IP-адрес вашего Linux-сервера.
1. В файле nginx.conf добавьте конфигурацию балансировки нагрузки.
upstream gulimall {
server 192.168.43.182:88;
}
2. В файле gulimall.conf добавьте следующую конфигурацию.
server {
listen 80;
server_name gulimall.com *.gulimall.com hjl.mynatapp.cc;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
# Настройка динамического разделения статических ресурсов
location /static/ {
root /usr/share/nginx/html;
}
# Конфигурация асинхронного обратного вызова оплаты
location /payed/ {
proxy_set_header Host order.gulimall.com; # Не потерять заголовок запроса
proxy_pass http://gulimall;
}
location / {
#root /usr/share/nginx/html;
#index index.html index.htm;
proxy_set_header Host $host; # Не потерять заголовок запроса
proxy_pass http://gulimall;
}
renren-fast-vue
и запустить его с помощью команды npm run dev
.gulimall
, импортировать его в IDEA и скомпилировать.Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )