310 likes | 447 Views
Noti Task. BRIAN WYKA. 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.
E N D
NotiTask BRIAN WYKA
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
Questions and Suggestions • Hopefully I can answer your questions… • Any suggestions for my project??