LinkMe 是一个使用 Go 语言开发的论坛项目。它旨在为用户提供一个简洁、高效、可扩展的在线交流平台。本项目使用DDD领域设计理念,采用模块化的设计,使得添加新功能或进行定制化修改变得非常容易。LinkMe 支持多种数据库后端,并且可以通过 Kubernetes 进行部署。
http://www.simplecloud.top/(前端重构中...暂时停用) 超级管理员:admin/admin
https://github.com/GoSimplicity/LinkMe-microservices
https://github.com/GoSimplicity/LinkMe-web
- 用户注册、登录、注销
- 用户角色RBAC
- 用户关系
- 用户评论
- 发布帖子、评论、点赞
- 历史记录
- 帖子审核
- 用户个人资料编辑
- 论坛版块管理
- 自动获取热门榜单
- 用户、帖子搜索
- Kubernetes 一键部署
- 前后端分离架构
- Go 语言
- Gin Web 框架
- Wire 依赖注入
- Kubernetes 集群管理
- MySQL 数据库
- Redis 缓存数据库
- MongoDB 文档数据库
- Kafka 消息队列
- Prometheus 监控
- ELK 日志收集
- Canal 数据同步
- ElasticSearch 搜索引擎
- Docker 容器化
- 随项目进度技术栈实时更新..
.
├── config # 项目配置文件目录
├── deploy # docker及k8s部署文件目录
├── doc # 项目文档目录
├── internal # 项目内部包,含核心业务逻辑
├── ioc # IoC容器配置,负责依赖注入设置
├── pkg # 自定义工具包与库
├── job # 定时任务目录
├── logs # 项目日志目录
├── utils # 项目工具包目录
├── main.go # 项目入口文件
├── middleware # 中间件目录
├── tmp # 临时文件目录
├── wire_gen.go # Wire工具生成的代码
├── wire.go # Wire配置,声明依赖注入关系
我们欢迎任何形式的贡献,包括但不限于:
- 提交代码(Pull Requests)
- 报告问题(Issues)
- 文档改进
- 功能建议 请确保在贡献代码之前阅读了我们的贡献指南。
- Fork 本仓库
- 创建您的特性分支 (
git checkout -b my-new-feature
) - 提交您的改动 (
git commit -am 'Add some feature'
) - 将您的分支推送到 GitHub (
git push origin my-new-feature
) - 创建一个 Pull Request
[email protected]:GoSimplicity/LinkMe.git
go mod tidy
你可以选择手动创建数据库,或者使用提供的 Kubernetes YAML 文件自动创建。
# 进入项目目录中的init目录下
cd deploy/init
# windows用户执行下面文件
windows_init.bat
# linux用户及mac用户执行下面文件
chmod +x linux_init.sh && ./linux_init.sh
cd deploy && docker-compose up -d
cd deploy && kubectl apply -f yaml/ # 需要有k8s环境
go install github.com/google/wire/cmd/wire@latest
wire # 注意需要在wire.go文件所在目录下使用
go build -o linkme . && ./linkme
go install github.com/cosmtrek/[email protected] # 注意go版本不得低于air指定版本,本项目使用golang版本为1.22
air
admin/admin
本项目使用 MIT 许可证,详情请见 LICENSE 文件。
- Email: [email protected]
- 为了方便交流,可以加我vx:GoSimplicity 我拉你进微信群
欢迎来到 LinkMe,让我们一起构建更好的论坛社区!