

Go 开源项目推荐:一个简单的 Go 练手项目
source link: https://polarisxu.studygolang.com/posts/go/project/go-web-project-s3-manager/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

大家好,我是 polarisxu。
Go 语言中文网微信群时不时有人问,有没有练手项目推荐。实话说,公众号陆续推荐过不少,但大家更擅长及时问,而不是找找。今天看到一个开源项目,值得学习了 Go 语言,但没有实战过的人练练手。
项目地址:https://github.com/cloudlena/s3manager,这是一个 Web 项目,通过 Web GUI 管理 S3 buckets。你可以基于这个项目开发自己的管理阿里 buckets 或七牛 buckets 等。

该项目实现了如下功能:
- 列出你账号的所有 buckets
- 创建一个新的 bucket
- 列出某个 bucket 中的所有对象
- 将新对象上传到 bucket
- 从 bucket 下载对象
- 删除 bucket 中的对象
第三方依赖
该项目主要使用了下面两个第三方库:
- github.com/gorilla/mux:没有使用 net/http,而是使用了这个路由库,也没有使用 gin、echo 之类的框架
- github.com/spf13/viper:配置管理库。该项目的配置是通过环境变量设置的,环境变量通过 viper 读取
此外,就是基于 S3 的 SDK。
3、核心设计
简单介绍下该项目的核心设计。
1)前后端分离。
API 接口使用 RESTful 风格,例如:
r.Handle("/api/buckets/{bucketName}/objects", s3manager.HandleCreateObject(s3)).Methods(http.MethodPost)
前端基于 jQuery。
2)使用 Go1.16 的 embed
静态资源,包括模板和 css/js,通过 embed 嵌入最终的二进制文件中,使得编译后只需一个二进制文件即可运行,部署方便。
3编写了 Dockerfile
方便通过 Docker 部署。
这个项目功能比较简单,作为练手比较合适。建议新手可以参照这个项目,申请一个 S3 或国内的对象存储,实现自己的一个 bucket 管理系统。
Recommend
-
81
-
48
First 项目地址:Crawler-for-Github-Trending 项目中基本每一句代码都写有注释(因为就这么几行?),适合对Node爬虫感兴趣的同学入入门。 Introduction 50 lines, minimalist node crawl
-
34
go-gin-chat(Gin+websocket 的多人聊天室) 练手小项目,为熟悉Gin框架跟websocket使用 :yellow_heart::yellow_heart::yellow_heart::yellow_heart::yellow_heart::yellow_heart:
-
11
有哪些值得推荐的 Java 练手项目?-五分钟学算法 当前位置:五分钟学算法 > 算法 > 传统算法...
-
11
很多初学者想小试牛刀的时候都会有找不到适合自己的项目的困境,要不就是太难要么就是没有写的必要,很是让人头大。所以本文收集了 GitHub 上星星最多排名最靠前的十个 Java 练手项目,源码和文档也都整理好了,需要的朋友可以直接点击领取。
-
5
【 Java 编程练手项目】基于SpringBoot的ERP系统,自带进销存+财务+生产功能 很多人说华夏ERP(英文名:jshERP)是目前人气领先的国产ERP系统 目前...
-
6
V2EX › React [新人向] react 练手项目,计算器 zuobinwang · 20 小时 5 分...
-
15
V2EX › 程序员 有什么好的途径,发掘感兴趣的项目写代码练手 sunriz · 1 天前 · 995 次点...
-
9
转载请注明出处❤️ 作者:测试蔡坨坨 原文链接:caituotuo.top/80599ac8.html
-
4
寻几个 C++练手的项目 V2EX = way to explore V2EX 是一个关于分享和探索的地方 Sponsored by
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK