前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Focus 聚焦社区 v0.2.0,GoFrame 开源社区项目

Focus 聚焦社区 v0.2.0,GoFrame 开源社区项目

原创
作者头像
用户1110528
修改2021-02-08 10:00:54
8390
修改2021-02-08 10:00:54
举报
文章被收录于专栏:Focus

此版本对核心功能进行了完善,也对大家提的一些建议及bug进行了修复;也诚请各位小伙伴们关注GoFrame项目发展,为生态添砖加瓦,加油助力!

更新功能:

  1. 文章回复功能完善:加入了点赞,踩,删除,回复,采纳;
  2. 编辑资料加入了我的消息模块:此版本主要加入了回复消息统一展示;
  3. 加入了简单的管理员功能,可以对垃圾文章和垃圾回复进行清理;
  4. 加入Docker Compose一键部署,极大方便linux环境部署;
  5. 对网友的一些建议及上一版本bug进行了修复;

零、关于Focus

Focus聚焦社区GoFrame社区项目,采用了简洁强大的GoFrame作为后端WEB框架, 由于前台系统需要SEO因此使用了GF自带template模板引擎,数据库用MySQL,前端使用jQuery/bootstrap框架。

一、源码地址

二、演示地址

请不要恶意发送垃圾数据哦~ 地址:https://focus.goframe.org/

三、安装部署

安装

1、下载项目源码: git clone https://github.com/gogf/focus

2、创建focus数据库:

代码语言:javascript
复制
CREATE DATABASE `focus` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_bin';

3、运行documentfocus.sql初始化数据库SQL

4、复制configconfig.example.tomlconfig.toml配置文件,其他配置根据需要自行调整。

代码语言:javascript
复制
# 数据库配置
[database]
    link  = "mysql:root:123456@tcp(127.0.0.1:3306)/focus"
    debug = true

5、运行:go run main.go

6、访问 http://127.0.0.1:8199 即可看到登录页面,默认账号/密码:goframe / 123456

一键部署

一键部署仅支持linux,并且需要先完成docker-compose安装;

代码语言:javascript
复制
git clone https://github.com/gogf/focus && \\
 cd focus && chmod 755 focus.sh && ./focus.sh build

更多命令,请执行./focus help

传统部署

1、安装gf-cli工具链,详情查看:开发工具

2、打包命令:执行 gf build 即可,具体配置请参考:build 交叉编译

3、打包结果:默认 linux/macos/windows 三个版本。

代码语言:javascript
复制
bin
├── darwin_amd64
│   └── focus
├── linux_amd64
│   └── focus
└── windows_amd64
    └── focus.exe

4、将config.tomlfocus放到同一级目录,启动focus即可。

发布说明:

默认配置文件配置中,会将public,template目录进行二进制打包,随着可执行文件一同发布。因此,发布时仅需要将config.tomlfocus拷贝到目标服务器运行即可。此外,您也可以考虑将特定的配置文件用打包发布,那么发布时仅需要发布focus可执行文件即可。

如果您想同时打包配置文件到可执行文件中,那么您可以同时参考一下关于默认配置文件读取的修改方式:配置管理里#默认文件修改

四、项目结构

代码语言:javascript
复制
├── app
│ ├── dao
│ ├── model
│ ├── shared
│ └── system
│     ├── admin
│     │ └── internal
│     └── index
│         └── internal
│             ├── api
│             ├── define
│             └── service
├── config
├── document
├── library
├── packed
├── public
├── template
├── upload
├── Dockerfile
├── go.mod
└── main.go

五、目录说明

目录/文件名称

说明

描述

app

业务逻辑层

所有的业务逻辑存放目录。

- dao

数据访问

数据库的访问操作,仅包含最基础的数据库CURD方法。

- model

数据模型

存放数据相关的实体结构定义。

- system

系统模块

内部可能包含多个子系统,不同子系统之间资源相互隔离。

- index

前端页面

子系统,前端页面。

- internal

内部模块

系统内部模块,仅供当前内部系统调用,无法在系统间共享。

- api

业务接口

系统内部接收/解析用户输入参数的入口/接口层

- define

结构定义

系统内部的输入、输出数据结构定义。

- service

逻辑封装

系统内部业务逻辑封装,实现特定的业务需求。

config

配置管理

所有的配置文件存放目录。

docker

镜像文件

Docker镜像相关依赖文件,脚本文件等等。

document

项目文档

Documentation项目文档,如: 设计文档、帮助文档等等。

library

公共库包

公共的功能封装包,往往不包含业务需求实现。

packed

打包目录

将资源文件打包的Go文件存放在这里,boot包初始化时会自动调用。

public

静态目录

仅有该目录下的文件才能对外提供静态服务访问。

template

模板文件

MVC模板文件存放的目录。

Dockerfile

镜像描述

云原生时代用于编译生成Docker镜像的描述文件。

go.mod

依赖管理

使用Go Module包管理的依赖描述文件。

main.go

入口文件

程序入口文件。

六、框架设计

由于采用了强大易用的GoFrame开发框架,可以参考框架的一些设计介绍。

七、项目截图

图1. 社区首页

图2. 登录页面

图3. 注册页面

图4. 发布/编辑页面

图5. 内容详情

图6. 搜索页面

图7. 个人主页

图8. 编辑资料

八、数据库表设计

九、功能模块进度

十、Focus文档

更多资料请移步:Focus聚焦社区文档

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 零、关于Focus
  • 一、源码地址
  • 二、演示地址
  • 三、安装部署
    • 安装
      • 一键部署
        • 传统部署
        • 四、项目结构
        • 五、目录说明
        • 六、框架设计
        • 七、项目截图
        • 八、数据库表设计
        • 九、功能模块进度
        • 十、Focus文档
        相关产品与服务
        容器服务
        腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档