Giter Club home page Giter Club logo

foodie-shop's Introduction

foodie-shop

前言

天天吃货在线购物平台,采用现阶段流行技术实现。

项目介绍

foodie-shop项目是一套前后端分离电商系统,包括前台购物系统及用户中心后台系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。购物平台系统包含分类、推荐、搜索、评价、购物车、地址、订单、支付、定时任务、用户中心、订单管理模块。

后端实现springboot+mybatis 结合了elascticsearch+logstash实现与数据库中商品表的实现同步。 采用了redisson(redis客户端)或curator(zookeeper客户端)实现的分布式锁

image-20210809143510552

组织结构

foodie-shop
├── db -- 数据库文件与数据库pdman原型图
├── foodie-shop-api -- 前天购物系统与用户中心Controller接口
├── foodie-shop-common -- 工具类及通用代码
├── foodie-shop-mapper -- 数据库交互层Mapper
├── foodie-shop-pojo -- entity、bo、vo实体类
├── foodie-shop-service -- Service接口与实现
├── source -- 源码等文件
├── source├── foodie-frontend -- 购物系统与用户系统前端源码
├── source├── 支付中心源码 -- 需要商户资质才可有效使用

必备工具

title(标题) description(描述)
Java SE Development Kit 8 Java SE开发工具包 8
Maven Apache Maven是一个软件项目管理和理解工具。基于项目对象模型(POM)的概念,Maven可以从**信息管理项目的构建,报告和文档。
Git 分布式版本控制系统
Tomcat Apache Tomcat是由Apache Software Foundation(ASF)开发的一个开源Java WEB应用服务器
PDMan 数据库建模工具,参见db内foodie-dev.pdman.json文件

软件部署

Windows

环境变量

一、 配置JDK环境变量
	1. 系统变量新建:
	变量名:JAVA_HOME
	变量值:D:\Program Files (x86)\Java\jdk1.8.0_301
	2. 编辑系统变量 Path
	新建:%JAVA_HOME%\bin
	3. 测试是否配置正确,打开CMD命令行窗口,依次输入:java、javac、Java -version 执行成功并版本号一致即可
二、 配置MAVEN环境变量
	1. 系统变量新建:
	变量名:M2_HOME
	变量值:D:\Program Files\apache-maven-3.8.1
	2. 编辑系统变量 Path
	新建:%M2_HOME%\bin
	3. 测试是否配置正确,打开CMD命令行窗口,输入:mvn -v 执行成功并版本号一致即可
三、 配置TOMCAT环境变量
	1. 系统变量新建:
	变量名:CATALINA_HOME
	变量值:D:\Program Files\apache-tomcat-9.0.50
	2. 编辑系统变量 Path
	新建:%CATALINA_HOME%\bin
	3. 测试是否配置正确,打开CMD命令行窗口
	启动Tomcat命令:startup
	停止Tomcat命令:shutdown.bat

Windows环境启动项目

Linux CentOS 7

系统初始化配置

添加aliyun yum源:
# 备份源文件
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak$(date '+%Y%m%d%H%M%S')
# centos 7版本
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

# 缓存服务器包信息 && 安装epel源
yum makecache && yum -y install epel-release

系统更新(建议执行):
yum update -y && yum upgrade -y

必备工具安装:
yum install wget jq psmisc vim net-tools telnet yum-utils device-mapper-persistent-data lvm2 git lrzsz unzip zip tree epel-release -y

关闭防火墙(可选执行):
systemctl stop firewalld && systemctl disable firewalld

关闭selinux:
# 临时关闭
setenforce 0
# 备份文件
cp -p /etc/selinux/config /etc/selinux/config.bak$(date '+%Y%m%d%H%M%S')
# 永久关闭
sed -i 's/enforcing/disabled/' /etc/selinux/config

关闭swap:
# 临时关闭
swapoff -a
# 备份文件
cp -p /etc/fstab /etc/fstab.bak$(date '+%Y%m%d%H%M%S')
# 永久关闭
sed -i "s/\/dev\/mapper\/cl-swap/\#\/dev\/mapper\/cl-swap/g" /etc/fstab

方式二:
vi /etc/fstab
# 注释swap
#/dev/mapper/cl-swap     swap                    swap    defaults        0 0

# 关闭NetworkManager
systemctl disable NetworkManager && systemctl stop NetworkManager

安装docker

# 设置存储库安装
yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 安装docker
yum -y install docker-ce docker-ce-cli bash-completion

# 设置docker开机自启并且启动docker(C-N)
systemctl enable docker && systemctl start docker
  • 通过运行hello-world 映像来验证是否正确安装了Docker Engine
docker run --rm hello-world
  • Docker镜像加速器
mkdir -p /etc/docker/

cat <<EOF>> /etc/docker/daemon.json
{
    "registry-mirrors": ["https://hub-mirror.c.163.com"],
	# 如果启用firewalld,需增加该配置
    "iptables": false
}
EOF

systemctl restart docker

技术选型

foodie-shop's People

Contributors

mystweb avatar

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.