Go 语言:Jank 简客博客系统
Jank 简客博客系统
什么?最近我开源了一个项目?
Jank 是一个轻量级的博客系统,基于 Go 语言和 Echo 框架开发,设计理念强调极简、高效和高扩展性,旨在为用户提供功能丰富、界面简洁、操作简单且安全可靠的博客体验。
Github 仓库地址:https://github.com/Done-0/Jank
Gitcode 仓库地址:https://gitcode.com/2402_83735444/Jank/overview
欢迎加入社区(供学习和开发):https://qm.qq.com/q/P3CSH8wF22
技术栈
- Go 语言:热门后端开发语言,适合构建高并发应用。
- Echo 框架:高性能的 Web 框架,支持快速开发和灵活的路由管理。
- MySQL:成熟的关系型数据库管理系统,支持复杂查询和事务处理。
- Redis:热门缓存解决方案,提供快速数据存取和持久化选项。
- JWT:安全的用户身份验证机制,确保数据传输的完整性和安全性。
- Docker:容器化部署工具,简化应用的打包和分发流程。
- 前端:Vue 3 + Nuxt + Shadcn-vue(暂时搁置)。
功能模块
- 账户模块:实现 JWT 身份验证,支持用户登录、注册、注销、密码修改和个人信息更新。
- 文章模块:提供文章的创建、查看、更新和删除功能。
- 分类模块:支持类目树及子类目树递归查询,单一类目查询,以及类目的创建、更新和删除。
- 其他功能:
- 提供 OpenAPI 接口文档
- 集成 Air 实现热重载
- 使用 Logrus 实现日志记录
- 支持 CORS 跨域请求
- 提供 CSRF 和 XSS 防护
- 支持 Markdown 的服务端渲染
其他模块正在开发中,欢迎提供宝贵意见和建议!
本地开发
-
安装依赖:
go mod tidy
-
配置数据库和邮箱:
修改configs/config.yaml
文件中的数据库配置和邮箱配置,示例如下:DB_PSW: "<DATABASE_PASSWORD>" # QQ 邮箱和 SMTP 授权码(可选) QQ_SMTP: "<QQ_SMTP>" FROM_EMAIL: "<FROM_QQ_EMAIL>"
-
启动服务:
使用以下命令启动应用:go run main.go
或使用 Air 进行热重载:
air -c ./configs/.air.toml
-
访问接口:
打开浏览器,访问 http://localhost:9010/ping
Docker 容器部署
docker-compose up -d
联系方式
- QQ 群:828270460
- 作者 QQ:927171598
许可证
本项目采用 MIT 开源许可证。
代码统计
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Go 65 521 458 3857
JSON 1 0 0 1456
YAML 3 8 6 986
Markdown 27 32 0 98
TOML 1 6 0 36
-------------------------------------------------------------------------------
TOTAL 97 567 464 6433
-------------------------------------------------------------------------------