brian wyka. web-based project manager ideal for small company portal for employees to interact...
TRANSCRIPT
Background
Web-based project manager Ideal for small company Portal for employees to interact with
each other A way for administrators to monitor
their subordinates and keep them up to speed on every day tasks
Designed to update dynamically and maintain itself
Background
NotiTask Noti: stands for notification Task: self-explanatory
Put these two terms together to form a system where tasks are assigned and notifications are sent automatically by the system to keep all parties updated
Motivation
I worked for a start-up company Very disorganized and hard to coordinate
with others when working remotely in different locations
I am an organized person and like to have important things in my life structured
So I decided to develop a project manager that would not only benefit myself, but the people I was working with as well
Description
Static Pages Home: first page you see when you log in Projects: all projects assigned to user logged
in Calendar: events and tasks in time format Mailbox: messages between users Account: custom user settings Admin: reserved for administrators on the
system
Description
Dynamic Pages The content will be unique to the
individual logged into the system The users registered with the system
control the content that appears on the pages
Home Page
The home page will be designed so that all important updates will be available to the user immediately upon login, including: Project/task notifications New messages Annoncements
Projects and Tasks
This page will have all the projects assigned to the user logged in or to the team that the user is a member of…
Project: collection of tasks Assigned to individual user or team of
users Project assigned to team has tasks
available to users on that team Project assigned to user has tasks only
available to that respective user
Projects and Tasks
Project and Task Attributes Date: created, due, completed, approved Assigner (Administrator) Assignee (User or Team) Title and Description Status: assigned, in progress,
completed, approved Optional file attachments
Task Status Updates
When a task status is updated by a user, the project containing the task is updated by system in the back-end of the program
Example Scenarios: Project Assigned: no tasks have been
started Project In Progress: at least one task
in progress Project Complete: all tasks are
complete Project Approved: all tasks have been
approved by administrator
Calendar
A timeline reserved for the user to keep track of personal events as well as a service to put project and task due dates in perspective
Composed of three separate views: Today: events for the current day Week: events for current calendar week Month: events for the current calendar
month
Mailbox
Substitute for office mail such as outlook or web-based email
Mailbox will contain incoming and outgoing messages between users as well as some messages from the system Inbox: all messages received from users Outbox: all messages sent to users Compose: send message to user(s)
Account
The account page is where the user can change and update custom settings such as: Personal information Authentication credentials Notification Settings Add To do items Add Calendar events
Admin
The administrators within the system will only have access to this page
From this page they control the flow of the entire environment essentially
The admin page is broken down into 6 sections: Projects, Tasks, Files, Teams, Users, and Announcements
Admin – Projects and Tasks
Where the admin creates, edits, manages, and removes projects and tasks
Managing consists of monitoring the projects’ and tasks’ statuses as well as approving them when completed
Admin - Files
The files section will allow for uploading, deleting, and downloading files The files will be stored in a database
table so each file will also be able to be associated with a specific project and/or task
Admin – Teams and Users
This section will allow the admin to create, edit, and remove teams and users
Each user must be associated with a team
Admin - Announcements
This will be an area for the admin to post announcements as well as remove them
The announcements will show up on the home page so they are one of the first things noticed by the user logging into the system
All Pages
Each page will have its own respective sub menu to navigate within itself
Also each page will have a to do list pane and a user list pane
The only exception is the projects page where instead of the to do list and sub menu, there will be a list of projects and tasks, which allows easy navigation between them
To do List and User List
To do List: pane where users can add personal items “to do” These individual items can be created,
edited, and removed The user list tracks users online as
well as shows you the offline Provides quick access to message a
specific user or start a chat
Interface Requirements
Nice and design, nothing fancy, but still appealing to the eye
A layout which allows for easy navigation and transitions between pages
User-friendly environment
System Features
Authentication User has user name and password to log
in to system Security
Handles sessions to expire if user inactive for specified period of time, prompt user security questions if logging in from different IP address, etc…
System Features
Notifications: sent for project and task assignment, project and task status update, project and task update, etc… Email SMS Mailbox Message
Purpose: keep user updated when not logged into system, if important update, user will be notified by SMS (text message)
Navigation Menu
The navigation menu contains all page links as well as sub page links
The projects tab is updated dynamically and has a list of the assigned projects as the sub menu items and for each project has its tasks as further sub menu items
Database Design
The database stores all the information that makes each page’s content custom and unique to the user logged in
Database tables: Activity Log: logs site activity when users log in successfully or in failure Comment: to do item, mailbox message, chat message, announcement Event: events to show up on calendar File: stores files in a BLOB field as well as other information to describe file Notification: populated by the system to show notifications Project: project information Task: task information and associated project User: personal information, authentication credentials User Settings: custom settings enforced by user User Team: list of teams that administrator has added, in which users must be a part
of
Nonfunctional Requirements
Browser Compatibility Big issue with all the browsers out there
today, more specifically the earlier versions of Internet Explorer
List of browsers to be tested: Chrome, Firefox, IE versions 5.5-8, Safari, Opera…
Most issues lie within the Javascript being executed client-side as well as the CSS or the look and layout of the page
Nonfunctional Requirements Structure
Have a designated blue-print for the system that stays in-tact throughout development
Organization Have the underlying structure of the page be
organized for the developer or team of developers
All files will have a system and a specified folder where they belong
All interactions between files and scripts will be coordinated and executed in similar manners
Implementation
Web based programming languages: PHP - Hypertext Preprocessor JavaScript – almost like a web version of java
Markup HTML/XHTML – Hyper Text Markup language CSS – Cascading Style Sheets
Database Manipulation SQL – Structured Query Language phpMyAdmin: portal to manage database(s)
and tables within databases
Timeline
Worked on project over winter break so have a flexible remaining timeline for rest of project
Hope to accomplish the rest of the remaining tasks within the next month and a half
The rest of the time will be to optimize compatibility as well as perform exhaustive testing and to receive user feedback