thebrag cli:从终端保存吹牛
#api #go #cli #linodehackathon

我建造的

如果您像我一样,您相信要尽快完成事情,但是当绩效审查或面试的时候到了,您会陷入不良的记忆和空白页面上,疯狂地梳理通过JIRA门票,电子邮件和来自多个项目的关闭PR。

现在,您不必考虑过去六个月或一年的 thebrag

现在吹牛,稍后记住。

thebrag 是一个基于CLI的应用程序,可让您直接从终端中保存吹牛(要炫耀的东西)。

thebrag具有以下功能:

  • 您可以直接从CLI添加,查看,更新或删除吹牛。
  • 创建自定义类别,以整理您的成就,例如工作任务,个人任务,博客等。
  • 使用“导出到文件”功能通过电子邮件收到成就的副本。
  • 您可以在日期范围内导出所有数据或通过选定的类别导出。

类别提交:

  • 古怪的通配符
  • 集成创新者
  • Saas Superstars

应用链接

从此link下载CLI应用程序。

安装步骤:

  1. 从上面的链接下载应用程序。
  2. 从下载文件的目录中运行chmod a+x thebrag。这将使您的系统上的所有组都可以执行文件。
  3. 从同一目录中,您可以在终端上运行./thebrag以开始使用它。 或
  4. 如果要从系统中的任何地方访问thebrag命令,则需要将应用程序路径添加到$ PATH环境变量中。
    • 通过在终端中键入cd导航到您的主目录。
    • type nano .profilenano .zshrc
    • 在此文件中,添加以下行: export PATH=$PATH:/foo/bar (用下载文件的位置替换/foo/bar)

.zshrc screenshot showing how to add file path

  • 保存并退出。
  • 退出终端APP(或您正在使用的任期程序)并重新启动它。

您现在应该能够从任何地方运行thebrag

屏幕截图

  • thebrag命令:提供有关应用程序的基本信息以及可以使用的命令列表。

thebrag command

  • thebrag login命令

thebrag login command

  • 添加一个新类别:thebrag category -c "<category_name>"

Add category command

  • 列出所有现有类别:thebrag category11

List categories command

  • 添加吹牛:thebrag add -c "<category_name>" -t "<brag title>" -d "<brag details>"

Add a brag command

  • 清单吹牛:thebrag get -n <no. of brags>

thebrag get -n <no. of brags> -s <skip_from_start>

List brags command

  • 获得特定的吹牛:thebrag get -i <brag_id>

Get brag by id command

  • 更新吹牛:thebrag update -i <brag_id> -d "new details content" -t "new title content" -c "new category name"

Update a brag command

  • 删除吹牛:thebrag delete -i <brag_id>

Delete a brag command

  • 出口吹牛:thebrag export -d "<from_date>:<to_date>" -c "<category_name>"

Export brags commands

  • 收到电子邮件:

Brags Email

  • 导出的吹牛CSV:

Exported Brags file

描述

系统的高级视图:

TheBrag - System design diagram

  1. user通过CLI与应用程序进行交互以管理其吹牛。
  2. 该请求已发送到托管在Linode服务器上的thebrag APIs,用于处理。
  3. API与MySQL数据库进行交互以获取/更新数据。
  4. Export Module将使您将吹牛导出到CSV文件中。
  5. 生成文件后,将其上载在Linode上,并使用SendGrid电子邮件发送到注册的电子邮件ID。

链接到源代码

  1. APIs: thebrag-api
  2. CLI: thebrag-cli

允许许可证

MIT许可证

背景

试图提出在评估年度结束评论中要写的内容,并给出讨论点以帮助我的经理获得奖励提名,这让我认为我应该开始记录我从事的工作一个地方。

受朱莉娅·埃文斯(Julia Evans)的这一post的启发,实际上整天都在终端上度过,我决定只制作一个写入CLI应用程序,这将使我直接从终端记录我的工作。

骨架是me ðµð«。
How to exit vim?

我如何建造它

语言,框架和库:

thebrag-cli使用golang的眼镜蛇库,它提供了一个简单的接口来创建强大的CLI应用程序。

thebrag-api是使用Golang的 gin框架构建的,以方便实现REST-APIS和 Gorm 用于MySQL集成。

这是我的第一个Golang应用程序ðÖ

基础架构:

  • API部署在Linode提供的Linux虚拟机上,称为计算实例。出于演示目的,这是在共享CPU纳米1GB上设置的。
  • MySQL 还使用其高性能的托管数据库簇在Linode上提供。同样在共享的CPU纳米1GB上。
  • 将导出的吹牛文件上传到对象存储上的私有存储库中 linode发行以将导出的数据文件保存在云上。
  • sendgrid 用于发送电子邮件包含导出的数据文件。
  • thebrag cli应用程序由对象存储的存储桶托管 linode with 公共读取访问允许任何人下载该应用程序并开始使用它。

未来范围/路线图

这不是该项目的目的,我将继续为此添加功能。

  • 按类别,日期范围等按吹牛吹牛
  • 设置用于部署的github操作。
  • 将您的吹牛转换为简历。
  • 绩效优化:将出口功能移至工人。
  • 喜欢GUI的人的仪表板。

ps:随时分享建议或功能请求。

其他资源/信息

[1] Opening a port on linux或这个linux-how-to-open-a-port
[2] Copy files from local to remote server
[3]所有GO教程都使用Localhost供API聆听,请记住更改IP以进行生产部署。经过两天的困惑,我发现了这个:port-seems-to-be-open-but-connection-refused
[4] SendGrid for emails