项目地址

项目介绍

最近沉迷于古诗文的阅读上,细品其中,沉迷其中.
但平时阅读上感觉还是不大方便,故此有这个项目.
项目中尽可能的保留了自己在Java上的一些编码习惯,
如三层结构:model层 service层,controller层,贴近实际工作开发需要.
希望可以对目前为Java开发者有需要转向go的朋友提供一个参考.
如果该项目对您有帮助,请您给一个star吧.

技术选型

项目结构

poem-parent
|-- poem-api            实体类模块
|   |-- common          公共工具
|   |   `-- base        基础工具
|   `-- module          业务模块
|       `-- core
|-- poem-core           后台核心模块
|   |-- common          公共工具
|   |   |-- base        基础工具
|   |   |-- log         日志工具
|   |   `-- pinyin      拼音转换工具
|   |-- conf            配置文件
|   |-- module          业务模块            
|   |   `-- core
|   `-- test
|       `-- bson
|-- poem-spider         爬虫模块
|   |-- common          公共工具              
|   |   `-- base        基础工具
|   |-- conf            配置文件
|   |-- launch          爬虫启动类
|   `-- module          业务模块
|       `-- gushiwen
`-- poem-web            http服务模块
|    |-- common         公共工具
|    |   |-- base       基础工具
|    |   |-- fliters    过滤器        
|    |   `-- routers    路由配置
|    |-- conf           配置文件
|    |-- module         业务模块
|    |   |-- core
|    |   |-- index
|    |   `-- spider
|    `-- test

模块依赖

模块名依赖模块
poem-api
poem-corepoem-api
poem-spiderpoem-api oem-core
poem-webpoem-api poem-core poem-spider

实现功能

  • 诗人数据的获取
  • 诗句数据的获取
  • 古籍数据的获取
  • 名句数据的获取
  • http api 分页接口提供

项目为一次尝试转换练习,主要是将java的编写习惯尝试转换到go的开发上.仅作学习参考使用.


功能计划

  • 完善后台api提供
  • 对接flutter版的poem-app

使用教程

  • 配置环境

    • 安装 go
    • 环境变量
    变量名称=值说明
    GO111MODULE=on开启go mod模块支持
    GOPROXY=https://goproxy.cn,direct依赖包下载代理地址
    GOSUMDB=sum.golang.google.cn包的哈希值校验地址
  • 导入项目到JetBrains GoLand并启用go modimage

  • 下载资源包

      cd ./poem-api && go mod tidy
      cd ../poem-core && go mod tidy
      cd ../poem-spider && go mod tidy
      cd ../poem-web && go mod tidy
    
    
  • 手动创建数据库

    数据库名为: poem

  • 配置数据库连接

    • 各模块的conf下的 mysql.ini文件修改配置
      • ./poem-core/conf/mysql.ini
      • ./poem-spider/conf/mysql.ini
      • ./poem-web/conf/mysql.ini
  • 同步数据库表

    运行入口: ./poem-core/PC000Application.go

      注意运行时: working directory需为 ****/poem-parent/poem-core 下
    
    

    image

  • 执行爬取数据

    运行入口: ./poem-spider/PS000Application.go

  • 启动http服务

    运行入口: ./poem-web/PW000Application.goimage

|

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐