我开源了一个基于 Go 语言的博客系统,欢迎给个 star [doge]

Jank 是一个轻量级的博客系统,基于 Go 语言和 Echo 框架开发,设计理念强调极简、低耦合和高扩展,旨在为用户提供功能丰富、界面简洁、操作简单且安全可靠的博客体验。

GitHub 搜索 repo:Done-0/Jank

技术栈

  • Go 语言:热门后端开发语言,适合构建高并发应用。
  • Echo 框架:高性能的 Web 框架,支持快速开发和灵活的路由管理。
  • MySQL:成熟的关系型数据库管理系统,支持复杂查询和事务处理。
  • Redis:热门缓存解决方案,提供快速数据存取和持久化选项。
  • JWT:安全的用户身份验证机制,确保数据传输的完整性和安全性。
  • Docker:容器化部署工具,简化应用的打包和分发流程。
  • 前端:Vue 3 + Nuxt + Shadcn-vue(原项目已不再维护,诚邀前端大佬加入开发)。

功能模块

  • 账户模块:实现 JWT 身份验证,支持用户登录、注册、注销、密码修改和个人信息更新。
  • 文章模块:提供文章的创建、查看、更新和删除功能。
  • 分类模块:支持类目树及子类目树递归查询,单一类目查询,以及类目的创建、更新和删除。
  • 评论模块:火热开发中…
  • 其他功能
    • 提供 OpenAPI 接口文档
    • 集成 Air 实现热重载
    • 使用 Logrus 实现日志记录
    • 支持 CORS 跨域请求
    • 提供 CSRF 和 XSS 防护
    • 支持 Markdown 的服务端渲染

其他模块正在开发中,欢迎提供宝贵意见和建议!

本地开发

  1. 安装依赖

    go mod tidy
    
  2. 配置数据库和邮箱
    修改 configs/config.yaml 文件中的数据库配置和邮箱配置,示例如下:

    # 数据库密码
    DB_PSW: "<DATABASE_PASSWORD>"
    
    # QQ 邮箱和 SMTP 授权码(可选)
    QQ_SMTP: "<QQ_SMTP>"
    FROM_EMAIL: "<FROM_QQ_EMAIL>"
    
  3. 启动服务
    使用以下命令启动应用:

    go run main.go
    

    或使用 Air 进行热重载:

    air -c ./configs/.air.toml
    
  4. 访问接口
    打开浏览器,访问本地 :9010/ping

Docker 容器部署

docker-compose up -d

代码统计

-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Go                              74            531            493           4031
JSON                             1              0              0           1539
YAML                             3              8              6           1035
Markdown                        27             34              0            137
TOML                             1              6              0             36
-------------------------------------------------------------------------------
TOTAL                          106            579            499           6778
-------------------------------------------------------------------------------

许可证

本项目遵循 MIT 协议。

9 个赞

有前端大佬想一起开发的也可以联系我 :yum:

牛逼克拉斯

沒有演示網站嗎

不知道为什么设置仅楼主可见,而且这样放收款码是违反坛规的

支持一下大佬~

Github链接呢?

没放开源地址啊佬

我直接把github上的readme文件复制过来的,没注意看,哈哈,我改下

你点击上面的那个英文文档就能跳转到我的仓库里的readme_en文件了,我这好像回复不了链接

暂时木有,原来那个前端项目写的太草率了,就废弃了

1 个赞

我发现我改帖子的时候不能包含链接(发评论的时候也不能),没搞懂我最开始咋能发出来的 :rofl:

GitHub 搜索 repo:Done-0/Jank

1 个赞

你的个人联系方式、群、收款码,建议编辑掉

1 个赞

serv00可以搭建吗

https://linux.do/faq
抽空看看这个,别到时候被举报了

我瞅瞅,之前还没在这发过帖子

没看到前段代码呢

在另一个仓库里面,只不过确实没什么价值就没放到这个仓库里面

这个为什么设置只有主题所有者才能看到所有帖子

1 个赞