美文网首页
Go实战项目【项目介绍】

Go实战项目【项目介绍】

作者: Leo丶Dicaprio | 来源:发表于2019-11-15 14:30 被阅读0次

    首先说明下,进行开发此项目,将会按照MVP原则进行,摘选网上对于MVP的介绍

    MVP 是 Minimum Viable Product (最小化可行性产品)的简称,如何更好的理解呢?譬如一款电商产品核心目标就是让用户在产品上下单买东西。那核心流程就可能是:进入产品——挑选商品——下单付款——查询物流信息。那就围绕这个流程,剥离多余的高级功能(分享啊,评论啊,个性化推荐啊,积分啊这些都不要做)做一款MVP产品。

    所以有些功能将会在前期不会出现在项目中,在后期的话根据需要再决定是否添加。

    项目模块:

    基于项目的需求,我把项目大致分为以下几个模块

    • 用户模块
    • 文章模块
    • 评论/回复模块
    • IM聊天模块(websocket)

    前三类属于api部分,所以将会在一个程序中
    IM聊天模块将会单独做一个程序
    这样的好处是在于,如果其中一个程序挂了的话,不会影响另外一个程序


    开发顺序:

    开发模块

    由上图不难看出,评论/回复模块依赖于文章模块,文章模块依赖于用户模块;IM聊天依赖于用户模块
    所以开发顺序将会根据上图由左到右,由上到下的顺序来进行。


    项目的开发环境和软件
    电脑操作系统:macOS Mojava 10.14.4
    Golang版本:1.13.4
    数据库:MySQL 8.0.16
    数据库界面管理:Sequel Pro
    开发工具IDE:Goland(很好用的Golang开发工具,只不过是收费的,而且很贵。想白嫖的话,自己查找激活码吧)
    接口测试工具:Postman https://www.getpostman.com/

    在path路径中,创建项目文件夹,比如为api(下篇文章会介绍项目的创建)

    api程序项目的文件夹树:

    ├── conf
    ├── middleware
    ├── models
    ├── pkg
    │   ├── e
    │   ├── file
    │   ├── logging
    │   ├── setting
    │   ├── upload
    │   └── util
    ├── routers
    │   └── v1
    ├── runtime
    │   ├── logs
    │   └── upload
    │       ├── apks
    │       └── images
    │           └── avatar
    └── templates
    
    文件夹名称 介绍
    conf 项目的配置文件夹
    middleware 中间件文件夹
    models 模型文件夹
    pkg/e api状态码文件夹
    pkg/file 关于文件操作的文件夹
    pkg/logging 打印日志操作的文件夹
    pkg/setting 项目设置文件夹
    pkg/upload 上传文件/图片操作的文件夹
    pkg/util 工具类文件夹
    routers 路由文件夹
    runtime 存放文件/资源文件夹
    runtime/logs 存放项目打印的日志
    runtime/upload 存放上传的资源文件夹
    runtime/upload/apks 存放安卓更新的安装包,都是apk文件
    runtime/upload/images 存放项目的图片,比如用户的头像,用户上传的图片都在这里
    templates 静态资源文件夹,比如web页面等

    点关注,不迷路

    相关文章

      网友评论

          本文标题:Go实战项目【项目介绍】

          本文链接:https://www.haomeiwen.com/subject/lfrrictx.html