GitDigger - 为开源项目而生的交流社区


AGPL
跨平台
Python

软件简介

GitDigger

简述

一个为开源项目而生的社区,用于帮助开发者发现感兴趣的开源项目以及相关的新鲜事,让他们能够方便的了解到各个开源项目都有哪些需要解决的问题、有哪些问题是自己能够提供帮助的,以此为开源项目吸引更多的贡献者。

目前还处于开发阶段,很多功能未完成,如果你是经验丰富的 Python
开发者,可以向此项目提供技术支持,包括但不仅限于:数据库表结构设计、性能优化、代码规范、模块规划、国际化。

需求及目标

作为普通开发者,平常无聊的时候会想看看其他人在干什么,长长见识,比如写了什么代码、都在讨论什么问题(Issue)、有哪些有意思的问题和问题评论、哪些项目发布了新版本等等。对于在某些领域有丰富经验的人,可能还会想知道哪些项目正遇到自己擅长领域的问题,看看自己能不能帮上忙。像
GitHub
等代码托管平台主要专注于源代码托管,为开源项目提供的推广手段很少,普通用户想发现感兴趣的项目和开发者会比较麻烦;而开源资讯类网站的内容时效性又很强,同一时间断内更新的资讯过多的话会变得混杂,普通项目的更新资讯容易被埋没。

作为开源项目作者或维护者,一个人的时间和精力都是有限的,有时会被一些琐碎的问题浪费很多时间,例如:解决各种小
bug,添加各种小功能。同类型的问题处理多了会很感到枯燥,但又不得不去做,做多了又会耽误主线任务开发进度,还会浪费动力。当遇到一些大点问题时,会希望有人能给予技术支持,例如:

  • 这块代码是否有更好的实现

  • 要实现这种功能,有哪些可参考的资料

  • 如何调整数据结构和算法以提升性能

  • 如何更好的重构代码

  • 如何正确命名标识符

  • 如何设计目录结构

  • 如何让代码更简单易读

  • 有哪些需要注意的坑

  • 怎样写好 README.md

自己搜索相关资料比较费时,可能会找不到答案,而去某些问答网站提问的话,需要写详尽的描述,还可能需要提供最小示例,比较麻烦也费时间,还很有可能得不到答案。这只是开发方面,对于普通开发者,不管项目的代码更新得有多频繁,也不会有人知道这个项目,除非主动去推广,通常的推广手段是在各大平台发布版本更新资讯,但持续时间有限,过了一两周又会回到无人问津的状态。

要解决上述问题,需要有个平台能够:

  • 挖掘开源项目的各种信息,包括:问题(Issues)、拉取请求(Pull Requests)、评论、发行版新闻(Releases),供用户浏览。

  • 展示开源项目及相关的动态,让用户能够方便的找到近期活跃的项目,也能够从最近动态中了解到大家都在干什么。

  • 支持让开源项目作者将一些问题(Issue)标记为“需要帮助”来获得更多的曝光,吸引更多有经验的人来向作者提供帮助。

技术栈

为减少项目的开发时间和复杂度,网站页面以服务端渲染为主,即便作者是个 Web
前端程序员也不打算浪费时间去折腾前后端分离、单页应用等技术,除非有人能长期负责全职开发此项目的后端。