1. 程式人生 > >小試牛刀——搭建一個週報管理系統

小試牛刀——搭建一個週報管理系統

算是自己來公司的第一個工作。雖然自己很菜,但是還是獨立地完成了這個任務。

1.需求

專案描述:搭建一個部門內使用的週報管理系統。

功能要求:1.兩個使用者組:管理員組和普通使用者組。2.普通使用者組需要能夠提交週報(按照老大指定的格式),檢視、修改自己的週報,並且能將週報列印成word文件。3.管理員能夠管理所有的使用者,檢視所有使用者的週報(以各種方式,如按單獨的使用者、按日期檢視所有等)。

開發時間:兩週。

其他要求不限。

2.具體開發

1)前端介面構建

剛開始來的時候什麼都不會,就著書上的例子整,雖然也能實現功能,但是——太醜。就在網上開始找前端框架套。好用的bootstrap。

Bootstrap是twitter公司開發的用於前端開發的開源工具包,風格素雅,功能豐富,很好用。官網有中文和英文的教程。http://getbootstrap.com/2.3.2/

剛開始來,複雜的css的東西也不太會弄,就試著按照學校的選課系統一樣的介面做了一版。進入系統以後就是一個選單欄,有兩個下拉選單:週報、使用者。介面就這樣了,主要是要實現功能!

2)後臺的功能邏輯

再小的系統也有自己的功能邏輯。週報管理系統的功能邏輯是這樣的:

模型層:使用者——週報

介面層:互動部分:寫週報——存週報——檢視週報 使用者部分:登陸 登出 建立

控制層:使用者和週報的行為(act)函式

3)各版塊細分

對於model: 建立了使用者模型user_model 週報模型 report_model。不過按照要求,週報是由一個一個專案組成的,為了方便操作,還建立了專案模型project_model。

互動層面上,建立了使用者-週報關係模型user_report_model 使用者-專案模型 user_project_model 專案-週報模型 project_report_model

對於介面:按照功能要求:寫了以下幾類介面:登陸介面、主頁介面、建立週報介面(按照各專案類別建立,比較多)、檢視週報介面、建立使用者介面、檢視使用者介面等。

對於控制:按照幾個模型間關聯的邏輯寫了幾個功能函式:project.php user.php。

按要求建立資料庫 report.sql 裡面的表有report project user以及相互間的關聯表。

4)各板塊的實現

第一,使用者操作。

使用者的登陸是一個最簡單的表單提交。除了驗證碼之外,通常就只有使用者名稱和密碼。在表單提交後,user功能類中的login會進行處理。(你問我怎麼就能呼叫login?一般兩種方法吧,post——定義一個變數為act,給一個value為login,在跳轉到user.php後根據value值選擇。或者get,直接在form的action裡面寫上?act=login)。login裡面會有各種驗證的方法,驗證使用者名稱是否存在啊,驗證使用者名稱和密碼是否匹配啊。由於系統許可權設定的是管理員才能建立使用者,所以在登陸處就沒有設定註冊。當用戶登陸成功後,會給一些session值,這些值對於後面的操作很有用。比如使用者的uid,使用者的使用者名稱,is_login量。退出後session值清空。

使用者的建立也是一個簡單的表單提交。填寫相應的表單項,比如使用者名稱、密碼、郵箱這些。填完了在add函式裡面存入資料庫。

檢視使用者就是把資料庫user表裡面的使用者項列出來。就是遍歷每個符合要求的項,讀出它們的明細。

第二,使用者與週報的互動。

一個週報對應一個使用者,當然使用者可以建立多個週報,不過週報是由填寫時間決定的,一週週期內填寫的專案都歸於一個週報。

使用者在填寫週報時是按照專案進行填寫的(本週結束專案、本週進行專案、本週開始專案等)。每一個專案都是一個表單,這裡就不贅述了。因為填寫的專案一週可能有多個,所以需要動態新增(刪除)表單。這就需要用到JS了。動態新增表單這裡有幾個方法,第一種是動態新增表單程式碼,每點選“新增”一次就在指定位置新增程式碼,增加一個新的表單;點選“刪除”就將該段程式碼刪除。另外,還有用js進行表單合法性驗證(表單為空、開始時間比結束時間晚之類的)。

專案提交後,一個表單就形成一個project項。專案的時間週期如果沒有一個週報對應,則建立一個新的週報,否則就加入一個存在的週報中。project-report。

使用者檢視週報時,按照前面提到的session裡的uid獲取週報庫裡對應的週報(creater_id=uid)。檢視週報就是將對應的週報的明細顯示,將週報裡的專案一個一個顯示出來。

將週報列印成word格式,就是將html按照word輸出。沒有太多的難點。

線上修改週報。這個需要提一下,這裡用了一個js ui裡的editable外掛。http://getbootstrap.com/2.3.2/

重要程式:api/project.php user.php

model/user_model.php project_model.php report_model.php user_report_model.php report_project_model.php user_report_model.php

static/bootstrap

etc/config

mySqlExt.php 資料庫操作函式

func/index project_create(~~~) user_add user_info report_info 

專案的上線:1.申請在伺服器上開闢資料庫。2.在開發機上建表。3.在開發環境下(我用的是netbeans)上傳程式碼。4.專案上線。開發機上是centOS,之前學過一段時間,但是還是不夠熟練,以後還是需要繼續學習。

總結:作為自己的第一個專案,做的不是很好。進度把握不住,程式設計bug頻出。曉琳哥找了我幾次,就是講時間管理和程式設計習慣。以後程式設計要嚴格按照編碼規範來,細分進度節點,做到能夠掌控專案。

學到的東西:1.php基本語法,面向物件。Mysql操作類裡操作函式的熟練使用。2.js的基本使用。3.css的基本使用。4.開發機上Linux環境的常用指令的熟練使用。

繼續加油吧,一定要變更強!

相關推薦

小試牛刀——搭建一個週報管理系統

算是自己來公司的第一個工作。雖然自己很菜,但是還是獨立地完成了這個任務。 1.需求 專案描述:搭建一個部門內使用的週報管理系統。 功能要求:1.兩個使用者組:管理員組和普通使用者組。2.普通使用者組需要能夠提交週報(按照老大指定的格式),檢視、修改自己的週報,並且能將週報列

如何使用Vue.js來搭建一個後臺管理系統

目錄 使用的技術 基礎但不好版 1.初始化專案 2.實現初始頁內容自定義 3.使用路由 原始程式碼 自建頁面 修改路由

django搭建一個資產管理系統2.登入系統

思路:先在本機建立好專案,再移植到伺服器上,本機環境儘量與Server端環境一樣, python3.6 django2.2.0 開發軟體 pycharm 首先建立專案sams (Server assets management system) django-admin startproject s

用FastDFS一步步搭建文件管理系統

鏈接 快速 存儲空間 功能 dir BE 主程序 還要 文件 轉載: 作者:bojiangzhou 出處:http://www.cnblogs.com/chiangchou/ 本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原

從零開始搭建口袋妖怪管理系統(1)-從Angular1.x開始

style ppc href rip initial 官方庫 從零開始 table 技術分享 開坑,一直喜歡口袋妖怪,想著能寫點有關的程序。 最近項目要改寫管理系統,所以用Angular1.x搭建一個口袋妖怪管理系統試試。 鞏固Ng1.x的知識+學習庫的用法,然後算是記錄一

利用Python編寫一個會員管理系統,沈迷於編程的世界裏!

put OS 搜索 功能 層級 lin 基礎 img adding 主要實現功能: 一級、二級層級多個選項,全部支持判空、返回到上一個層級、退出 刪除或者修改當前搜索到的用戶信息,以及特殊提醒 支持用戶批量搜索、添加、修改或者刪除 賬號密碼驗證,密碼錯誤

從零搭建java後臺管理系統(一)

pac 阿裏 stat 技術 user 日誌 代碼 最小 mbo 框架搭建 一、初步設想,使用springboot,框架打算用到依賴 spring web,devTools,mysql,Aspect,Redis,Lombok,Freemark,Shiro,Rabbitmq

從零搭建java後臺管理系統(二)mysql和redis安裝

docker 權限 req 安全性 分享圖片 登錄 red 解析 append 接上篇開始安裝mysql和redis 註意了,如果用阿裏雲服務器,外網訪問的端口必須在安全組開啟,否則外網訪問不通 三、服務器安裝redis和mysql 本次環境搭建將所有第三方服務會安

Django2.0+Xadmin搭建後臺資訊管理系統實戰-羅紹崗-專題視訊課程

Django2.0+Xadmin搭建後臺資訊管理系統實戰—2000人已學習 課程介紹         1Xadmin的安裝與配置(Django2.0+python3.6) 2.Xadmin註冊 APP(

關於Java如何獲取系統時間,並用它來做一個圖書管理系統

首先,這個圖書管理系統自定義一個final常量不能更改,用作圖書館借閱歸還的最晚時間,也可以自定義歸還時間。 然後,先獲取使用者借閱時間,再用SimpleDataFormata元件來格式化日期(yyyy-MM-dd),再將獲取的時間加在系統的時間上得到使用者自定義的歸還時間。 最後,再通過方

用C++做了一個圖書管理系統

圖書管理系統功能如下: 新增書籍。 刪除書籍。當系統中存在此書時,刪除該書籍,否則提示使用者刪除失敗。 借閱書籍。當系統中存在此書且未被借閱時,將書的狀態設定為“借出”,否則提示使用者借閱失敗。 歸還書籍。當系統中存在未歸換的該書時,將書的狀態設定為“可用”,否則提示使用者歸還失敗。

靜態連結串列設計一個學生管理系統

#include<iostream.h> struct Node {     int number; char* name; char* Class; float math_grade; int next; }Stu[10];

用python寫:完成一個員工管理系統 要求儲存員工的工號、姓名、年齡、性別、工資 1、員工錄入 2、查詢員工資訊 3、修改員工資訊 4、刪除 5、根據工號檢視 6、退出

   完成一個員工管理系統    要求儲存員工的工號、姓名、年齡、性別、工資    1、員工錄入    2、查詢員工資訊    3、修改員工資訊    4、刪除  &nb

基於Python搭建Django後臺管理系統

一、部落格網站的建立 建立專案 生成站點(sites)Model,這兩步驟第一篇有介紹,這裡就直接操作了 二、資料庫配置 介紹一下資料庫的配置就是在setting裡面配置連結的資料庫,這裡系統以及配置好了,連結一個叫做db.sqlite3的資料庫,也許有讀者會問,這個資料庫在哪裡,我

ELASTICSEARCH、LOGSTASH、KIBANA 搭建高效率日誌管理系統

ELK (ElasticSearch、LogStash以及Kibana)三者組合是一個非常強大的工具,這裡我們來實現監控日誌檔案並且收到日誌到ElasticSearch搜尋引擎,利用Kibana視覺化工具實現ElasticSearch查詢. ElasticS

智慧園區能源管理資訊平臺搭建,能源管理系統開發

園區屬於功能複雜的綜合性建築,配備了電、水、熱等多種能源,園區能源管理中心平臺實時展示是對園區各企業的用能種類和能源消耗量, 以資訊標識的形式向整個園區進行公示的活動,是節能減排工作的重要組成部分。園區能源管理中心平臺是以企業能耗資料為支撐, 通過能源計量資料和生產過程資料的線上採集、統計分析、數學建模等資訊

搭建渣土運輸管理系統是應遵循哪些原則

       隨著,2018年7月3日國務院釋出《打贏藍天保衛戰三年行動計劃》,各地紛紛出臺相應渣土運輸管理政策,部分城市也開始著手準備搭建渣土運輸管理系統,希望藉助渣土運輸管理系統,能對車輛動態資訊實行全方位全時段跟蹤、監控、識別和管理,在實時共享監管資

如何搭建一個視訊直播系統

2016年後,直播軟體像雨後春筍一樣冒出,直播系統開發的需求也在進一步的增加,使用者也更加追求流暢、完美的直播體驗,這就需要視訊直播系統的開發。那麼視訊直播系統的開發主要都是包含哪些步驟,每一步又都代表了什麼呢?視訊直播系統開發主要包含:採集、前期處理、編碼、傳輸、解碼、渲染

從0到1搭建一個專案管理平臺

用JIRA還是禪道,這有一篇對比分析的文章,本文以部署禪道開源版為例 進入禪道官網下載地址 雙擊解壓 到我們剛才解壓的路徑開啟xampp—>雙擊執行start 點選啟動按鈕,關掉“啟用Apache使用者訪問驗證選項”,並

linux環境下搭建禪道管理系統

vmware Linux: Centos 6.7禪道安裝包:ZenTaoPMS.10.0.stable.zbox_64.tar.gz將安裝包放在/opt目錄下並解壓tar -zxvf ZenTaoPMS.10.0.stable.zbox_64.tar.gzcd /zbox./