Fork me on GitHub

AITAM: Documentation

AITAM is a collaborative tool to help associates to manage and track their action items to completion. AITAM can be used to Create, Assign, Track, Review and Manage the Action Items of a team.

AITAM
A ction I tem T racking A nd M anagement

Contents

Getting Started

Overview

What do we have here???

So, What's in my bag..

The avatars of AITAM are
Web App:
Mobile App:
Extension:

What's in it for a team member?

I've got a hell load of Action Items!!!!

Which task has more priority? What is the due date for the task? Who is gonna review the task? Finally, What is the rating the reviewer has given for the completed task?
Our cool pal AITAM will help you with these.

What's in it for a Manager?

What on earth happened to those Action Items I've assigned to these guys?!!!!

What is the status of the tasks I assigned? Is the task past due date? Who is performing the ask? Finally, what is the comparative rating of my team members?
Our strict officer AITAM will help you with these.

What does it actually do?

It just make your terrible messy life a lot more easier.

Your pal AITAM will,
  • Shows all the tasks related to you categorically
  • Keeps track of onTime compliance and generate rating
  • Notifies you of important updates

What can Managers do?

As a Manager you can

  • Assign tasks to your team members
  • Track the status of the tasks
  • Review the tasks on completion
  • Provide rating to tasks on closure
  • Send tasks for ReWork if necessary
  • View the comparative AITAM generated rating
  • View your TeamTree

What can TeamMembers do?

As a TeamMember you can

  • Accept the tasks assigned to you
  • Appeal for extension of task due date, if required
  • Update the status of the task os things progress
  • Self Assign tasks
  • Request a Self Assigned task to be officially Approved
  • View your AITAM generated rating
  • Manage your Profile

How is it structured?

AITAM is split into 3 sections

  • myTask: Tasks assigned to you will be shown here
  • ourTask: Tasks you have assigned will be shown here. It'll appear only for Managers.
  • myProfile: Your basic prfile details will be shown here. It'll appear only in Web browser.

Web App

The classic way of doing things.

Visit the AITAM website in your web browser. The Web App has the complete sets of AITAM functinalities, including Admin portal, Profile management, Password Management, Team Tree, etc..
Web App is the gateway to install Chrome Extension.

AITAM Web App is developed using Java Web Components (J2EE), Java Script, Google Charts API, Google reCaptcha API etc. and is hosted in Google Cloud Platform.

Mobile Web

The classy way of doing things.

Visit the AITAM website in your mobile browser to view the Mobile Website.
Mobile Website has the most of the functinalties of the Mobile App and has the same User Interface
Mobile Website is the gateway to install the Mobile Apps. The Mobile Website detects the Operating System of the mobile device (Android, BlackBerry, iOS or Windows). Then it'll prompt the user to download the Mobile App for the corresponding OS

AITAM The Mobile Website is developed using HTML5, AngularJS, CSS3, JavaScript, Ionic Framework, Google Charts API etc. and is hosted in Google Cloud Platform.

Mobile App

The handy way of doing things.

You can download the AITAM Mobile App from the Mobile Website. The Mobile App is the ultimate portable solution for AITAM
Mobile App notifies the user of any new tasks in thier queue via push Notification. So you can stay up-to-date
AITAM Mobile App is available for Android, BlackBerry, iOS and Windows

AITAM Mobile App is developed using PhoneGap / Cordova, HTML5, AngularJS, CSS3, JavaScript, Ionic Framework, Google Charts API , Ionic Push API etc. and is hosted in Google Cloud Platform.

Extension

The trendy way of doing things.

You can install AITAM Extension your web browser from the AITAM Web App. As of now it is available for Google Chrome alone
Extension will provide you the summary of number of tasks under various categories in your queue, It'll display a desktop notification if a new task jumps into your queue.

AITAM Extension is developed using HTML5, AngularJS, CSS3, JavaScript, Google cloud Messaging, etc.. and is hosted in Google Cloud Platform.

In the Castle of AITAM

Try it Urself

AITAM: Now you know me !!!! Why can't you try me???
Wow! That's a compelling invitation. Let's try AITAM and understand how to utilize it's functinalities.

Web App

How to get there?

Click the 'Try it' button to view the Demo

myLogin

Login to AITAM

Enter the UserID and Password, if you've got one
Click on the reCaptcha to prove that you are human.
Sometimes the reCaptcha will prompt you to identify images or texts to test that you are human.
That's it. Now click on the 'Login to AITAM ' button

Register for AITAM

New to AITAM

Enter your basic details.
Provide your security question and answer to recover your password when necessary.
Provide your password and confirm it.
That's it. Now click on the 'Register for AITAM ' button
After you submit your registration, your local Admin should map you into the team.

Home

A brief summary.

The page is divided into 2 sections

  • myTask- for the tasks assigned to me
  • ourTask- for the tasks assigned by me

The summary charts displays the number of tasks in each categogy.

Manage your AITAM profile

View & edit your AITAM profile

You can view your profile and edit your contact details

AITAM Admin

Administer AITAM

Admin portal for the local AITAM Admin. You'll be redirected to this page if you login as an Admin
You can Assign , reassign Manager to the registered members.
You can remove registered members if required.

Create myTask

Create an action item for yourself to keep track of the activity.

Provide the task title, description, due date and priority of the task. These action items will not be considered for performance analysis unless approved by managers.
Check the 'Is this an ourTask?' question as 'Yes' to send it to Approval Review of your manager. It'll appear in his Review ourTasks pane. Once approved it'll become an ourTask for your supervisor and a myTask for you. Else it'll remain a myTask for you alone. You can view it in Open myTasks pane.


Create ourTask

Create a Task and assign action items to team members.

Provide the task title, description, due date and priority of the task. These action items will be considered for performance analysis. It'll become an ourTask for assigner and a myTask for the assignees.
Assigner can view it in Open ourTasks pane. And assigness can view it in Open myTasks pane.


New myTasks

View the Tasks assigned to you

You can accept the task by clicking the Accept button. The task will move to Open myTasks pane.
If you are not comfortable with the Due date, you can change the due date and submit it to send to Appeal Review of your manager. It'll appear in his /her Review ourTasks pane. Once the manager approves the due date will be changed or the original due date will remain.


Open myTasks

View all the open Tasks assigned to you

Update the status of the task as In Progress when you start to work on it.
Once the task is complete change the status of the self assigned task as Completed. It'll be moved to myTask Archives . And change the status of Manager assigned task as Review to send it to his /her Task Review. It'll appear in his /her Review ourTasks pane
Once the manager reviews the task and Approves, it'll move to your myTask Archives and to his /her ourTask Archives . If the Manager rejects, it'll be marked as ReWork


Review ourTasks

View all the Tasks pending your Review or Approval

The tasks in this pane will be one of the below categiries

  • Task Review- Task that are completed by the assignee and submitted for review
  • Appeal Review- Task whose due date is appealed to change by the Assignee
  • Approval Review- Task that are subitted to be Approved as ourTask

You can either approve or reject those task reviews. For Task Reviews, Review rating needs to be given on Approval


Open ourTasks

View all the open Tasks assigned by you

You can change the due date of the Main Task or the individual Action Item.
You can either approve or reject those task reviews. For Task Reviews, Review rating needs to be given on Approval


myTask Archives & ourTask Archives

View all completed Tasks

myTask Archives: View all the completed tasks assigned to you.
ourTask Archives: View all the completed tasks assigned by you.

Team Tree

View your Team, structured as a tree

Your Immediate supervisor, and your team members will be displayed in the form of a tree.


myPerfometer

View your AITAM generated Performance analysis chart Select the duration to analyse your performance and clik on 'Enlighten Me' button to generate the myPerfometer chart. You can zoom in the chart and traverse sidewise.

The overall Perfometer rating for the selected duration will be displayed in a guage.


ourPerfometer

View the AITAM generated Performance analysis of your team

The comparative chart of the team members' AITAM rating during the selected duration will be shown.




You can view the detailed day wise Performeter chart of all your team members by selecting them via dropdown.

Mobile Web

How to get there?

Click the 'Try it' button to view the Demo

Download the App

Download the AITAM App from the Mobile Website

The functionalities of the Mobile Website is same as the Web App. Refer to the Web App section to know more. The User Interface of the AITAM Mobile Website is same as the Mobile App. The UI will be explained in the Mobile App section.
The Mobile Website is the gateway to download the AITAM App.


Mobile App

The functionalities of the Mobile App and the Web App are the same. Only the UI varies. Here you can find the UI for the Mobile App and their corresponding functionalities

Login

AITAM icon:
Know more @ Download the App
Login Screen:
Know more @ myLogin
Home Page:
Know more @ Mobile App
Side Menu:
Know more @ How is it structured

myTask

Summary:
Know more @ Home
Create:
Know more @ Create myTask
New:
Know more @ New myTasks
New- Details:
Know more @ New myTasks

Open:
Know more @ Open myTasks
Open- Details:
Know more @ Open myTasks
Archive:
Know more @ Archives
Archive- Details:
Know more @ Archives

ourTask

Summary:
Know more @ Home
Create:
Know more @ Create ourTask
Review:
Know more @ Review ourTasks
Review- Details:
Know more @ Review ourTasks

Open:
Know more @ Open ourTasks
Open- Details:
Know more @ Open ourTasks
Archive:
Know more @ Archives
Archive- Details:
Know more @ Archives

Perfometer

myPerfometer:

Know more @ myPerfometer
myPerfometer- Select Duration:
Know more @ myPerfometer
ourPerfometer:
Know more @ ourPerfometer
ourPerfometer-
Team Comparision:
Know more @ ourPerfometer

Extension

Extensions are small software programs that can modify and enhance the functionality of the browser.

How to Install?

You can install AITAM Extension on your web browser from the AITAM Web App.
When you login to AITAM via Chrome browser, you'll be prompted to Add the AITAM Extension to your Chrome browser. If you click on Add button it'll be installed in your browser.


AITAM @ a click

Just click on the AITAM icon in the toolbar to lauch the AITAM Extension. The AITAM icon in the toolbar will be having a badge, showing the number of tasks in your queue.
If you have not logged in your browser yet, then it'll ask you to loin to AITAM .


AITAM Notifications

You'll get instant AITAM Notifications related to you in your system tray. These notifications are dismissible.
To view these notifications later you can click on the bell shaped Chrome Notifications icon in your system tray.


Understanding the Concepts

A brief introduction to all the technological concepts and tools used in the development of AITAM .

Google Cloud Platform

Google Cloud Platform is a cloud computing platform by Google that offers hosting on the same supporting infrastructure that Google uses internally for end-user products like Google Search and YouTube. Cloud Platform provides developer products to build a range of programs from simple websites to complex applications.
AITAM is deployed and hosted in Google AppEngine. And the Database of AITAM resides in Google Cloud SQL.

Google App Engine

Google App Engine is a platform as a service (PaaS) cloud computing platform for developing and hosting web applications in Google-managed data centers. Applications are sandboxed and run across multiple servers. App Engine offers automatic scaling for web applications—as the number of requests increases for an application, App Engine automatically allocates more resources for the web application to handle the additional demand.
AITAM is deployed and hosted in Google AppEngine.

Google Cloud SQL

Google Cloud SQL is a MySQL database that lives in Google's cloud. It has all the capabilities and functionality of MySQL, with a few additional features and a few unsupported features as listed below. Google Cloud SQL is easy to use, doesn't require any software installation or maintenance, and is ideal for small to medium-sized applications.
Database of AITAM resides in Google Cloud SQL.
We can connect to a Google Cloud SQL instance from MySQL Connector or App Engine Java applications

Google Cloud Logging

Google Cloud Logging collects and stores logs from applications and services on the Google Cloud Platform.
Cloud Logging gathers logs from Google App Engine.
We can view the logs of AITAM with the Logs Viewer.

MySQL Workbench

MySQL Workbench enables to visually design, model, generate, and manage databases. It delivers visual tools for creating, executing, and optimizing SQL queries.
We can use MySQL Workbench to connect to our Google Cloud SQL instances.

Eclipse

Eclipse is an integrated development environment (IDE). It contains a base workspace and an extensible plug-in system for customizing the environment. Written mostly in Java, Eclipse can be used to develop applications.
With the Google Plugin for Eclipse you can use the Eclipse development environment to develop your Java App Engine application, just as you can to develop any other servlet-based web application.
The plugin lets you create, test, and upload App Engine applications from within Eclipse.

Java

Java is a set of several computer software and specifications that provides a system for developing application software and deploying it in a cross-platform computing environment
Java EE platform provides an API and runtime environment for developing and running enterprise software. Java Servlet and JavaServer Pages (JSP) are Java EE web components.

With App Engine, you can build web applications using standard Java technologies and run them on Google's scalable infrastructure. The Java environment provides a Java Servlets interface.

JavaScript

JavaScript (JS) is a dynamic programming language of HTML and the Web. It is a lightweight, interpreted, object-oriented language with first-class functions, most known as the scripting language for Web pages.
In AITAM JS is used as part of JSPs and HTML pages, whose implementations allow client-side scripts to interact with the user, control the browser, communicate asynchronously, and alter the document content that is displayed

CORS

Cross-site HTTP requests are HTTP requests for resources from a different domain than the domain of the resource making the request. Cross-site HTTP requests initiated from within scripts have been subject to well-known restrictions, for well-understood security reasons.
Cross-origin resource sharing (CORS) is a mechanism that allows restricted resources on a web page to be requested from another domain outside the domain from which the resource originated. CORS defines a way in which a browser and server can interact to safely determine whether or not to allow the cross-origin request.
AITAM is a Java-based applications in Google App Engine. resp.addHeader() is used for CORS.

Serialization

Java provides a mechanism, called object serialization where an object can be represented as a sequence of bytes that includes the object's data as well as information about the object's type and the types of data stored in the object.
To serialize an object means to convert its state to a byte stream so that the byte stream can be reverted back into a copy of the object. Serializability of a class is enabled by the class implementing the java.io.Serializable interface.
In AITAM, an AppEngine hosted project, it is mandatory to serialize all the data transferred.

Google Analytics

Google Analytics is a freemium web analytics service offered by Google that tracks and reports website traffic. It helps to Collect, configure, and analyze your data to reach the right audience. It can help you turn customer insights into actionable solutions for your business.
Analytics.js is a JavaScript library for measuring how users interact with your website. It offers more flexibility for developers to customize their implementations.
In AITAM, Google Analytics JavaScript library is used to analyze customer insights.

Google Charts

Google Charts is an Interactive charts for browsers and mobile devices to display live data on your site. Google chart tools are powerful, simple to use, and free.
Google Charts provides a perfect way to visualize data on your website. The most common way to use Google Charts is with simple JavaScript that you embed in your web page.
In AITAM, Google Charts is used to display the Summary, Team Tree and the Perfomrter.

Google reCAPTCHA

Google reCAPTCHA is used to Protect your website from spam and abuse while letting real people pass through with ease A significant number of your users can now attest they are human without having to solve a CAPTCHA. Instead with just a single click they’ll confirm they are not a robot. It is called the No CAPTCHA reCAPTCHA experience.
It uses and advanced risk analysis engine to distinguish humans from bots. reCAPTCHA comes in the form of a widget that you can easily add to your registration form.
In AITAM, Google reCAPTCHA is used in the Login form to block bots.

PhoneGap / Cordova

PhoneGap is a free and open source framework that allows you to create mobile apps using standardized web APIs for the platforms you care about. It is used to Easily create apps using the web technologies- HTML, CSS, and JavaScript using Cordova platform.
Apache Cordova is a set of device APIs that allow a mobile app developer to access native device function such as the camera or accelerometer from JavaScript. Combined with a UI framework such as Ionic Framework or PhoneGap or Sencha Touch, this allows a smartphone app to be developed with just HTML, CSS, and JavaScript.
AITAM mobile App is created using Cordova Platform and APIs.

HTML5

HTML5 is the latest evolution of the standard that defines HTML. It is a core technology markup language of the Internet used for structuring and presenting content for the World Wide Web. Its core aims have been to improve the language with support for the latest multimedia while keeping it easily readable by humans and consistently understood by computers and devices

AITAM mobile App is created using HTML5 technology.

CSS3

CSS3 is the latest evolution of the Cascading Style Sheets language. It brings a lot of novelties, like rounded corners, shadows, gradients, transitions or animations, as well as new layouts like multi-columns, flexible box or grid layouts.

AITAM mobile App is beautified using CSS3 technology.

Sass

Sass (Syntactically Awesome Stylesheets) is a stylesheet language. It is the most mature, stable, and powerful professional grade CSS extension language. It is completely compatible with all versions of CSS.

AITAM mobile App is beautified using Saas too.

IonicFramework

Ionic is a beautiful, open source front-end SDK for developing hybrid mobile apps with HTML5. It offers a library of mobile-optimized HTML, CSS and JS components, gestures, and tools for building highly interactive apps. It is built with Sass and optimized for AngularJS.

AITAM mobile App is developed using Ionic Framework.

AngularJS

AngularJS, by Google, lets you extend HTML vocabulary for your application. The resulting environment is extraordinarily expressive, readable, and quick to develop. AngularJS is a toolset for building the framework most suited to your application development.
It provides a framework for client-side model–view–controller (MVC) and model-view-viewmodel (MVVM) architectures, along with components commonly used in rich Internet applications. Ionic utilizes Angular in order to create a powerful SDK most suited to develop rich and robust applications. Ionic not only looks nice, but its core architecture is built for serious app development, and Angular ties in perfectly.
AITAM mobile App is powered by AngularJS.

Brackets

Brackets is a modern, open source text editor that understands web design. With focused visual tools and preprocessor support, Brackets is a modern text editor that makes it easy to design in the browser.
Brackets is a lightweight, yet powerful, modern text editor.Visual tools are blended into the editor, so you get the right amount of help when you want it.
AITAM App is coded in the Brackets.

GenyMotion

GenyMotion is a faster Android emulator. It is a fast and easy-to-use Android emulator to run and test your Android apps. It's features includes Resizable windows, Seamless copy-paste, Drag and drop.
It offers 20 pre-configured devices and you can create your own custom ones. You can develop, test and view apps running instantly on all combinations of large and small devices, low and high def screens, old and new Android versions, at full speed.
AITAM App is tested in the GenyMotion emulator.

Xcode

Xcode® is an Apple® tool required to build iOS applications. It runs only on OS X version 10.7 (Lion) or greater, and includes the iOS 6 SDK (Software Development Kit).
An xcodeproj file will be created by the Cordova platform. You can open it with Xcode. Then you can deploy it to Emulator or device. And you can create the ipa fils using the required certificates.
Dev version of AITAM iOS App is built using Xcode.

Ionic View

Ionic View App allows you to quickly and easily load, view and test the apps you build with Ionic Framework on a device. It helps to share your Ionic apps with clients, customers, and testers all around the world.
IonicView is available for Android and iOS.
AITAM App for iOS is tested in the Ionic View.

Ionic Push


Ionic Push API Sends highly-targeted push notifications. Easily send any user on any platform dynamic push notifications using the simple API. A push notification is a perfect way to communicate with your users and let them know about a new feature in your app.
AITAM App uses the Ionic Push API.

Google Cloud Messaging

Google Cloud Messaging (GCM) is a free service that helps developers send messages between servers and client apps across multiple platforms: Android, iOS, and Chrome.
To verify that they can exchange messages, the app server and the client app must complete a client/server "handshake". In this Client App Registration process, the client obtains a unique registration token and passes it to the app server, which stores the token and sends an acknowledgement back to the client app.
hrome Extension of AITAM receives push notification using GCM.

Google Chrome Extension

Extensions are small software programs that can modify and enhance the functionality of the Chrome browser. You write them using web technologies such as HTML, JavaScript, and CSS. Extensions have little to no user interface.
Use chrome.gcm to enable apps and extensions to send and receive messages through the Google Cloud Messaging Service (GCM). GCM provides messaging services for different platforms, including Chrome. It enables Chrome instances to send and receive message data from servers
AITAM has a Chrome Extension published in Chrome WebStore.

UUID

UUID is an immutable representation of a 128-bit universally unique identifier (UUID). The meaning of each bit is defined by any of several variants. For human-readable display, many systems use a canonical format using hexadecimal text with inserted hyphen characters.
The intent of UUIDs is to enable distributed systems to uniquely identify information without significant central coordination.
AITAM Apps autologins to thier devices using UUID.

123e4567-e89b-12d3-a456-426655440000

Overview Documentation

Fingerprinting

Fingerprinting is a technique of anonymously identifying a web browser with accuracy of up to 94%. Browser is queried its agent string, screen color depth, language, installed plugins with supported mime types, timezone offset and other capabilities, such as local storage and session storage. Then these values are passed through a hashing function to produce a fingerprint that gives weak guarantees of uniqueness.
fingerprintJS is a Fast browser fingerprint library. Written in pure JavaScript, no dependencies. By default uses Murmur hashing and returns a 32bit integer number.
AITAM Uniquely identifies the browsers using fingerprintJS. Chrome extension log in using fingerprint.

Domain Registration

Domain registration is the process of acquiring a domain name from a domain name registrar. Registration of a domain name establishes a set of Start of Authority (SOA) records in the DNS servers of the parent domain, indicating the IP address (or domain name) of DNS servers that are authoritative for the domain.
AITAM is hosted in NewtonJoshua.com which is registered via Yahoo India! Small Business.

Custom Domain

Google Webmaster Tools(also called Google Search Console) is a no-charge web service by Google for webmasters. It provides data, tools and diagnostics for a healthy, Google-friendly site. It helps our site to be found on the web.
When you create an application with Google App Engine, the app is automatically served on the appspot.com domain at your-app-ID.appspot.com. It's easy to serve your app at a custom domain that you own (NewtonJoshua.com) or at specific subdomains of that domain (AITAM.NewtonJoshua.com).
AITAM is served in AITAM.NewtonJoshua.com with the help of Google Webmaster Tools.

How long it took?

Nothing is sweeter than reaping the fruits of your labor.

Development Effort

Total Personal Effort: 440 Working Hours (55 days)
Web App: 200 Working Hours (25 Personal Days)
Mobile App: 160 Working Hours (20 Personal Days)
Mobile Web: 10 Working Hours (1.25 Personal Days)
Extension: 30 Working Hours (3.75 Personal Days)
Documentation: 40 Working Hours (5 Personal Days)

     Psalms 128:2 ~The Holy Bible
King James Version: For thou shalt eat the labour of thine hands: happy shalt thou be, and it shall be well with thee.
Good News Translation: Your work will provide for your needs; you will be happy and prosperous.
Common English Bible: You will definitely enjoy what you've worked hard for— you'll be happy; and things will go well for you.