一飛開源,介紹創(chuàng)意、新奇、有趣、實用的免費開源應(yīng)用、系統(tǒng)、軟件、硬件及技術(shù),一個探索、發(fā)現(xiàn)、分享、使用與互動交流的開源技術(shù)社區(qū)平臺。致力于打造活力開源社區(qū),共建開源新生態(tài)!
一、開源項目簡介
GeeTask – LESS IS MORE
一個極簡的敏捷項目管理系統(tǒng)。
一個PMP和ACP的結(jié)合的產(chǎn)物,以敏捷為核心卻有那么一丁點的傳統(tǒng)。
只適合小團(tuán)隊,而且負(fù)責(zé)人可能身兼數(shù)職。
GeeTask不是完整的敏捷思想的實現(xiàn),主要是根據(jù)自己的工作環(huán)境做了妥協(xié)。 我現(xiàn)在的團(tuán)隊是只有4個人團(tuán)隊包括我自己,如果完全按照敏捷過程的實施就會很繁瑣, 特別是在關(guān)鍵角色上不能分離,比如PO和PM都是同一個人。 另外,公司的項目的壓力以及人員的水平和思想還很難完全按照敏捷的思想去做。像自愿領(lǐng)取任務(wù)等這樣的工作就很難。
二、開源協(xié)議
作者暫未指定開源協(xié)議
三、界面展示
效果圖
- 管理后臺
- 項目控制臺
- 一次迭代中的故事或任務(wù)
- 產(chǎn)品Backlog
- 會議記錄
- 變更記錄
- 阿里云日志服務(wù)查看
- IM機(jī)器人
- 釘釘效果
四、功能概述
妥協(xié)是為了簡化
- 系統(tǒng)使用必須簡單,沒有繁瑣的各種設(shè)置。在項目中分別使用過redmine,禪道,在小團(tuán)隊中很難推,因為添加一個任務(wù)或者修改一個任務(wù)要設(shè)置很多不明覺厲的各種參數(shù),暈!
- 增加了會議記錄的功能。會議很重要,我們的需要溝通,我們會花跟多的時間溝通,溝通到每個人都理解對方的需求,甚至寫代碼的邏輯都會確定清楚。
- 增加了變更記錄的功能。系統(tǒng)發(fā)布的時候,需要清楚,生產(chǎn)環(huán)境會有哪些變更,比如SQL等
- 增加了IM機(jī)器人的功能。這個功能是增值功能,目的是讓團(tuán)隊時刻收到任務(wù)變更的通知,在通知中會指名道姓(表揚(yáng))。從心理學(xué)上來說,每個人都希望看到自己的名字在一些場合出現(xiàn)會。這種暗示會提高積極性。
系統(tǒng)特點
- 基于Yii2框架
- 使用了Yii的RBAC權(quán)限框架,在使用的過程中限制了原生的靈活(放棄了可以給某個人分配具體的權(quán)限,以及分配多角色多權(quán)限),只個一個用戶安排一個角色。個人認(rèn)為這樣的系統(tǒng)沒有必要把權(quán)限分配弄的過于復(fù)雜。本身Yii的RBAC權(quán)限對一般的初學(xué)者還有點難度,而且也很難圖形化表達(dá)角色權(quán)限規(guī)則等等的關(guān)系。本人前端技術(shù)有限,之前在其他的項目嘗試過,盡管表達(dá)了,但是還是很難簡化。如果有興趣可以留言。
- 本系統(tǒng)盡量保證了RBAC的功能,比如規(guī)則的擴(kuò)展,系統(tǒng)自實現(xiàn)了項目更新規(guī)則(更新自己創(chuàng)建的項目),其他地方暫時沒有(只是覺得這樣的需求不強(qiáng)烈)。有興趣的可以自己研究。
- 在Yii的事件中增加了自定義的簡單事件模型(不是對原生事件的擴(kuò)展,只是可以通過原生的事件觸發(fā)),通過后臺管理,靈活擴(kuò)展
- 消息機(jī)器人,默認(rèn)實現(xiàn)了釘釘機(jī)器。只是在添加或修改故事的時候觸發(fā)消息?;谧远x事件實現(xiàn),抽象出各種事件處理句柄。通過后臺管理,靈活擴(kuò)展自己需要的機(jī)器人。支持自定義消息模板
- 項目管理獨立化,用戶時刻只能在一個項目的會話下工作,通過切換控制臺的功能在用戶參與的多個項目中切換工作環(huán)境。
- 支持故事狀態(tài)自定義。本系統(tǒng)默認(rèn)定義的狀態(tài)的出發(fā)點是類似敏捷的完成定義
- 每個項目可以獨立配置阿里云的日志服務(wù)只讀模塊,方便開發(fā)者查看線上日志
- 產(chǎn)品Backlog
- 會議記錄
- 變更記錄
- 增加了emoji表情,讓工作的表達(dá)也有充滿表情
我是如何使用的
- 項目應(yīng)該化80%的時間理解需求確定需求,所有開會討論是必要的。
- 核心是計劃(迭代),負(fù)責(zé)人必須積極主動的推動團(tuán)隊的積極參與,一定要保持每個人都能參與到,建議每日站立會議,形成開會討論的習(xí)慣,引導(dǎo)團(tuán)隊逐步導(dǎo)向團(tuán)隊自治
- 項目的主持者是推動的主要動力,也是主要的使用者。負(fù)責(zé)主持會議,協(xié)調(diào)和分配任務(wù),主持所有的會議并將結(jié)果更新到系統(tǒng)中,也人員可以輪崗記錄會議。
- 我們項目約定的迭代周期是1周,一般周5安排下周的開發(fā)任務(wù),盡量保證一周完成。
- 如果本周沒完成的,大家一起開會討論,分析原因,是否安排到下周或者放到產(chǎn)品backlog中
機(jī)器人如何使用
可以參考釘釘?shù)臋C(jī)器人文檔
項目狀態(tài)
系統(tǒng)已經(jīng)滿足我們的項目的基礎(chǔ)需求
更多細(xì)節(jié)已經(jīng)錦上添花的功能以后有空再開發(fā)…
下面是敏捷項目的精髓
敏捷宣言
個體和互動高于流程和工具 ,可工作軟件高于詳盡的文檔
客戶合作高于合同談判 , 響應(yīng)變化高于遵循計劃
敏捷12原則
交付價值 我們最優(yōu)先考慮的是盡早和持續(xù)不斷地交付有價值的軟件,從而使客戶滿意
擁抱變化 即使在開發(fā)后期也歡迎需求變更。敏捷過程利用變更可以為客戶創(chuàng)造競爭優(yōu)勢
持續(xù)交付 采用較短的項目周期(從幾周到幾個月),不斷地交付可工作軟件
合作 業(yè)務(wù)人員和開發(fā)人員必須在整個項目期間每天一起工作
人本思想 圍繞富有進(jìn)取心的個體而創(chuàng)建項目。提供他們所需的環(huán)境和支持,信任他們所展開的工作
面對面溝通 不論團(tuán)隊內(nèi)外,傳遞信息效果最好且效率最高的方式是面對面交談
價值 可工作軟件是度量進(jìn)度的首要指標(biāo)
節(jié)奏 敏捷過程倡導(dǎo)可持續(xù)開發(fā)。發(fā)起人、開發(fā)人員和用戶要能夠長期維持穩(wěn)定的開發(fā)步伐
精益 堅持不懈地追求技術(shù)卓越和良好的設(shè)計,從而增強(qiáng)敏捷能力
簡潔 以簡潔為本,最大限度地減少工作量
自組織 最好的架構(gòu)、需求和設(shè)計出自自組織團(tuán)隊
自省 團(tuán)隊定期反思如何能提高成效,并相應(yīng)地調(diào)整自身的行為
五、技術(shù)選型
安裝系統(tǒng)
喜歡自己折騰,或者屬性Yii php環(huán)境的可以安裝如下安裝
cd web服務(wù)器的doc目錄,這里是什么就不再多講。cd gee-taskcomposer install
創(chuàng)建數(shù)據(jù)庫 geetask , 編碼一定是 utf8mb4格式
如果是直接生產(chǎn),請導(dǎo)入數(shù)據(jù)腳本db.sql
如果需要查看演示,請導(dǎo)入 geetask.sql
默認(rèn)管理員及密碼:admin,admin
相對詳細(xì)的安裝說明
安裝手冊
安裝
只說明linux Centos的安裝
window環(huán)境直接安裝一個集成環(huán)境,比如xampp即可
文檔中的域名請?zhí)鎿Q成自己的域名,域名解析配置不多說明
系統(tǒng)的開發(fā)環(huán)境
- window10
- xampp-3.2.2
demo運(yùn)行環(huán)境
- centos7.4
- php-5.6
- 5.5.60-MariaDB
- nginx-1.12.2
centos
mysql 安裝
yum install mariadb mariadb-server
php5.6 環(huán)境準(zhǔn)備
#清除已安裝的php,可選操作yum remove php*rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpmrpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpmwget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.x86_64.rpmyum install rpmforge
nginx 環(huán)境
yum install nginx
或apache 環(huán)境
yum install httpd
php安裝
#安裝php5.6yum install php56w php56-fpm php56w-mbstring php56w-opcache php56w-pdo php56w-pdo-mysql php56w-intl php56w-icu php56w-expose php56w-gd php56w-dom php56w-memcache#如果是nginx作為web服務(wù)器yum install php56w-fpm
部署代碼
#上傳路徑 /var/www/gee-task#添加可寫目錄mkdir runtimechmod -D 777 runtimemkdir web/assestschmod -D 777 web/assets
創(chuàng)建數(shù)據(jù)庫
這里太簡單了就不多說明了,如果是生產(chǎn)使用db.sql,如果是演示使用geetask.sql
修改geetask的數(shù)據(jù)庫配置
cd /var/www/gee-task/configvim db.php#修改配置return [ 'class' => 'yiidbConnection', 'dsn' => 'mysql:host=localhost;dbname=geetask', 'username' => 'root', 'password' => 'root', 'charset' => 'utf8mb4', // Schema cache options (for production environment) 'enableSchemaCache' => true, 'schemaCacheDuration' => 60, 'schemaCache' => 'cache',];
為方便部署,vendor文件我打包了,就不用composer install,直接解壓即可
#到項目的倉庫,只能從gitee.com的倉庫下載附件#linux環(huán)境下載 vendor.tar.gz#window環(huán)境下載 vendor.rar#只說明linux的使用方法,window用rar軟件解壓即可#上傳到/var/www/gee-task/cd /var/www/gee-task/tar -xzvf vendor.tar.gz
配置
nginx
cd /etc/nginxvim nginx#添加如下配置 http { ... #從這里開始 server { listen 80; server_name geetask.weifutek.com; root /var/www/gee-task/web/; index index.php; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { try_files $uri $uri/ /index.php$is_args$args; } #error_page 404 /404.html; # location = /40x.html { #} #error_page 500 502 503 504 /50x.html; # location = /50x.html { #} location ~ .php$ { include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #fastcgi_pass unix:/var/run/php/php-fpm.sock; fastcgi_pass 127.0.0.1:9000; try_files $uri =404; } location ~ /.(ht|svn|git) { deny all; } } #結(jié)束 .... }
apache
cd /etc/httpd/conf.d/touch geetask.confvim geetask.conf##添加如下配置<VirtualHost *:80> ServerAdmin webmaster@geetask.weifutek.com DocumentRoot "/var/www/gee-task/web" ServerName geetask.weifutek.com ErrorLog "logs/geetask.weifutek.com-error.log" CustomLog "logs/geetask.weifutek.com-access.log" common</VirtualHost>
啟動服務(wù)器
nginx
systemctl start php-fpmsystemctl start nginx
apache
systemctl start httpd
六、源碼地址
訪問一飛開源:https://code.exmay.com/
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。