首页 网站首页 商业资讯 项目 查看内容

美多商城项目:了解主要需求和架构设计,创建配置工程

私域营销 项目 2022-12-22 15:04 10041人围观

一、美多商城项目先容

1.1 项目需求分析

需求分析缘由

  • 项目中,需求驱动开辟,即开辟职员需要以需求为方针来实现营业逻辑。

需求分析方式

  • 企业中,借助产物原型图分析需求。
  • 需求分析完后,前端依照产物原型图开辟前端页面,后端开辟对应的营业及响应处置。
  • 提醒:我们现在假借示例网站作为原型图来分析需求。

需求分析内容

  • 页面及页面上的营业逻辑。
  • 归纳营业逻辑并分别模块。

1.2 项目首要页面先容

1.首页广告



2. 注册



3. 登录



4. QQ登录



5. 小我信息



6. 收货地址



7. 我的定单



8. 点窜密码



9. 商品列表



10. 商品搜索



11. 商品详情



12. 购物车



13. 结算定单



14. 提交定单



15. 付出宝成果处置



16. 定单商批评价



二、归纳项目首要模块

模块功用
考证图形考证、短信考证
用户注册、登录、用户中心(根基信息、邮箱激活、收货地址、我的定单、点窜密码)
第三方登录qq登录
首页广告首页广告
商品商品列表、商品搜索、商品详情、商品阅读记录
购物车购物车治理、购物车合并
定单确认定单、提交定单、定单商批评价
付出付出宝付出
MIS系统数据统计、用户治理、权限治理、商品治理、定单治理

三、常识要点

  1. 需求分析缘由:需求驱动开辟。
  2. 需求分析方式:企业中,利用原型图分析需求。
  3. 需求分析内容:领会页面及营业逻辑,归纳营业模块。
  4. 需求分析成果:分别营业模块,明白每个模块下的首要功用。

四、项目架构设想

项目开辟形式

选项技术选型
开辟形式前端后分手
后端框架Django
前端框架Vue.js

说明:

  • 页面需要部分革新:我们会挑选利用Vue.js来实现。

五、架构设想



项目首要架构

  • 帮助我们整体把握项目标工作流程和首要的营业场景。
  • 项目开辟时,明白工作的重心是实现后端营业逻辑

六、工程建立和设置

6.1 建立工程

  1. 预备项目代码仓库,码云(https://gitee.com/)

2. 建立源码远程仓库:meiduo_project



3. 克隆项目代码仓库

(1)进入当地项目目录

cd Desktop/

(2)克隆仓库

git clone https://gitee.com/itcastitheima/meiduo_project.git

4. 建立美多商城工程

(1)进入当地项目仓库

cd meiduo_project/

(2)建立美多商城虚拟情况,安装Django框架

$ mkvirtualenv -p python3 meiduo_mall
$ pip install django==2.2.5

(3)建立美多商场Django工程

$ django-admin startproject meiduo_mall

建立工程完成后:运转法式,测试成果。

6.2 设置开辟目录



  • libs 寄存第三方的库文件
  • utils 寄存项目自己界说的公共函数或类等
  • APPs 寄存Django的利用
  • templates 模板文件寄存文件夹

6.3 运转前端

前真个用户部分. 利用我们给大师发的 front_end_pc 文件夹充任

即. front_end_pc 文件夹中的内容都是前真个部分.

想要将 front_end_pc 中的内容启动起来, 我们需要利用 python 自带的一个小办事器来停止. 该小办事器的启动方式为:

# 进入 front_end_pc 地点的文件夹
cd front_end_pc

# 启动小办事器. 端口8080
python3 -m http.server 8080

启动今后, 我们便可以利用该小办事器把 front_end_pc 中的前端代码运转起来. 启动后的端口是8080端口.

大师需要翻开阅读器, 然后拜候:

http://127.0.0.1:8080即可以看到front_end_pc 中的前端内容了.

6.4 设置Mysql数据库

1.新建MySQL数据库:meiduo_mall
$ create database meiduo_mall charset=utf8;
2.新建MySQL用户
$ create user itcast identified by '123456';
3.授权itcast用户拜候meiduo_mall数据库
$ grant all on meiduo_mall.* to 'itcast'@'%';
4.授权竣事后革新特权
$ flush privileges;

文档:

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 数据库引擎
'HOST': '127.0.0.1', # 数据库主机
'PORT': 3306, # 数据库端口
'USER': 'itcast', # 数据库用户名
'PASSWORD': '123456', # 数据库用户密码
'NAME': 'meiduo_mall' # 数据库名字
},
}

安装mysqlclient扩大包

1.安装驱动法式

$ pip install mysqlclient

设置完成后:运转法式,测试成果。

6.5 设置Redis数据库

1. 安装django-redis扩大包

$ pip install django-redis

2.django-redis利用说明文档

https://django-redis-chs.readthedocs.io/zh_CN/latest/

3. 设置Redis数据库

CACHES = {
"default": { # 默许
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/0",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
}
},
"session": { # session
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/1",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
}
},
}
SESSION_ENGINE = "django.contrib.sessions.backends.cache"
SESSION_CACHE_ALIAS = "session"

default:

  • 默许的Redis设置项,采用0号Redis库。

session:

  • 状态连结的Redis设置项,采用1号Redis库。

SESSION_ENGINE

  • 点窜session存储机制利用Redis保存。

SESSION_CACHE_ALIAS:

  • 利用名为"session"的Redis设置项存储session数据。

设置完成后:运转法式,测试成果。

6.6 设置工程日志

  1. 工程日志
LOGGING = {
'version': 1,
'disable_existing_loggers': False, # 能否禁用已经存在的日志器
'formatters': { # 日志信息显现的格式
'verbose': {
'format': '%(levelname)s %(asctime)s %(module)s %(lineno)d %(message)s'
},
'simple': {
'format': '%(levelname)s %(module)s %(lineno)d %(message)s'
},
},
'filters': { # 对日志停止过滤
'require_debug_true': { # django在debug形式下才输出日志
'()': 'django.utils.log.RequireDebugTrue',
},
},
'handlers': { # 日志处置方式
'console': { # 向终端中输出日志
'level': 'INFO',
'filters': ['require_debug_true'],
'class': 'logging.StreamHandler',
'formatter': 'simple'
},
'file': { # 向文件中输出日志
'level': 'INFO',
'class': 'logging.handlers.RotatingFileHandler',
'filename': os.path.join(BASE_DIR, 'logs/meiduo.log'), # 日志文件的位置
'maxBytes': 300 * 1024 * 1024,
'backupCount': 10,
'formatter': 'verbose'
},
},
'loggers': { # 日志器
'django': { # 界说了一个名为django的日志器
'handlers': ['console', 'file'], # 可以同时向终端与文件中输出日志
'propagate': True, # 能否继续传递日志信息
'level': 'INFO', # 日志器接收的最低日志级别
},
}
}

2. 预备日志文件目录

3. 日志记录器的利用

分歧的利用法式所界说的日志品级能够会有所不同,分的具体点的会包括以下几个品级:

  • FATAL/CRITICAL = 严重的,危险的
  • ERROR = 毛病
  • WARNING = 警告
  • INFO = 信息
  • DEBUG = 调试
  • NOTSET = 没有设备
import logging

# 建立日志记录器
logger = logging.getLogger('django')
# 输出日志
logger.debug('测试logging模块debug')
logger.info('测试logging模块info')
logger.error('测试logging模块error')

4. Git记录工程日志

提醒1:开辟进程中发生的日志信息不需要代码仓库停止治理和记录。



提醒2:建立代码仓库时,天生的疏忽文件中已经默许疏忽掉了*.log



题目:

  • logs文件目录需求被Git仓库记录和治理。
  • 当把*.log都疏忽掉后,logs文件目录为空。
  • 可是,Git是不答应提交一个空的目录到版本库上的。

处理:

  • 在空文件目录中建立一个.gitkeep文件,然后即可提交。


设置完成以后:运转法式,测试成果。

5. 常识要点

  1. 本项目最低日志品级设备为:INFO
  2. 建立日志记录器的方式:logger = logging.getLogger('django')
  3. 日志记录器的利用:logger.info('测试logging模块info')
  4. 在日志loggers选项中可以指定多个日志记录器

6.7 设置拜候域名

设备拜候域名

位置域名
前端www.meiduo.site

编辑/etc/hosts文件,可以设备当地域名

sudo vim /etc/hosts

在文件中增加信息

127.0.0.1 www.meiduo.site
1.ubuntu系统大概Mac系统




2.Windows系统
编辑 C:\Windows\System32\drivers\etc\hosts

我们在前端js目录中,建立host.js文件用以为前端保存后端域名

var host = 'http://www.meiduo.site:8000';

设备allowed_hosts

#答应哪些主机拜候
ALLOWED_HOSTS = ['127.0.0.1','403 Forbidden']

高端人脉微信群

高端人脉微信群

人脉=钱脉,我们相信天下没有聚不拢的人脉,扫码进群找到你所需的人脉,对接你所需的资源。

商业合作微信

商业合作微信

本站创始人微信,13年互联网营销经验,擅长引流裂变、商业模式、私域流量,高端人脉资源丰富。

我有话说......

相关推荐

不懂编程也能用!10+ 个 GitHub 趣味项目,能打字弹琴、制作双层图

不懂编程也能用!10+ 个 GitHub 趣味项目,能打字弹琴、制作双层

众所周知,GitHub 是一个代码托管服务平台,是程序员们技术交流的宝地,还被戏称为「

项目经理的九个职责

项目经理的九个职责

虽说懂技术是项目经理的一个必要项,但事实上,很多技术出身的人,根本干不好项目经理

一图汇总项目管理49个过程(完整版)

一图汇总项目管理49个过程(完整版)

《项目管理知识体系指南》的定义:项目是为创造独特的产品、服务或成果而进行的临时性

项目管理10大知识领域案例集--(74个实战案例总结)

项目管理10大知识领域案例集--(74个实战案例总结)

项目管理10大知识领域一直是我们工作中运用最多的。项目管理作为一门学科,里面有很多

有哪些适合新手练手的C/C++项目?

有哪些适合新手练手的C/C++项目?

学习编程专栏连载编程新手练手项目系列之C/C++项目篇,同样也欢迎热爱学习、对Java、P

13个小投资创业项目,比较靠谱,送给找不到创业项目的你,

13个小投资创业项目,比较靠谱,送给找不到创业项目的你,

现在,越来越多的人开始回家长进行创业,13个创业项目,比较可靠,分享给你。1.创业项

这工地肯定是女项目经理干的 ...

这工地肯定是女项目经理干的 ...

深深的叹服啊!这么整洁干净有条理的工地还是头一次见。。。项目概况地下1层,地上10-

100个Python实战项目(附全部源码),无论你是练手还是做 ...

100个Python实战项目(附全部源码),无论你是练手还是做 ...

前言:“读”代码是不能给你带来任何收益的,正如“读书”一样,如果在读的时候你不琢

干货|项目申请书写作技巧(专业撰写项目申请书)

干货|项目申请书写作技巧(专业撰写项目申请书)

在申请公司融资项目、科研项目等立项时都要提交项目申请书,项目申请书涉及到的内容有

月薪6k的项目助理和月薪20k项目总监有什么区别?

月薪6k的项目助理和月薪20k项目总监有什么区别?

项目助理:“项目助理”是“项目经理”的初级阶段;项目经理助理首先面向的是应届生为

在企业做项目申报专员有前途吗?

在企业做项目申报专员有前途吗?

很多项目申报工作人员十分想知道项目申报在企业做事是否有前途,今天我给大家来分享下

信息系统项目管理师第4版pdf教材下载

信息系统项目管理师第4版pdf教材下载

2023年3月10日中国计算机技术职业资格网正式发布通知,确定2023上半年信息系统项目管

有哪些适合新手练手的Python项目?

有哪些适合新手练手的Python项目?

学习编程专栏连载编程新手练手项目系列之python项目篇,同样也欢迎热爱学习、对Java感

阿里成了冤大头??1亿美元收购的开源项目,核心团队出走造 ... ...

阿里成了冤大头??1亿美元收购的开源项目,核心团队出走造 ...

鱼羊 发自 凹非寺量子位 | 公众号 QbitAI阿里这波遭“背刺”了:花了1亿美元收购的开

全是“高精尖”,又有20个重大项目将落地湖南

全是“高精尖”,又有20个重大项目将落地湖南

来源:红网-时刻新闻“创新创造与生态融合”为主题的生态专场论坛现场。红网时刻9月17

大连市2023年重点民生实事项目清单出炉

大连市2023年重点民生实事项目清单出炉

昨天,市政府召开常务会议,审议通过《大连市2023年市政府重点民生实事项目》。2023年

总投资3478亿:全国37个重大项目开工!

总投资3478亿:全国37个重大项目开工!

据基建通大数据统计,2023 年 4 月份,累计共有 37 项基建大项目开工,累计总投资 347

从0到1做项目,需要怎么思考?

从0到1做项目,需要怎么思考?

编辑导语:做一款0到1的项目,该从哪里开始?如何去规划?怎样去做?相信无论是对于十

口述|技术经理人:“高校项目转化失败,最常见的理由是太贵”

口述|技术经理人:“高校项目转化失败,最常见的理由是太贵”

·有时候我前期和专家交流,会觉得他们很厉害很能聊,但一旦到企业那里,专家就不行了

又撸了一个开源项目!!!

又撸了一个开源项目!!!

花了两周左右,写了一个客户关系管理系统,基于 Vue + Go 实现,主要功能有仪表盘、客

电话咨询: 15924191378
添加微信