Pages

Friday, 19 October 2012

Assignment # 2 Implement and Deploy a Business Application


Business Problem:

Our company “NexGen” is a new and fast growing electronic devices selling company. Our company sells laptops and corresponding accessories, mobile phones and corresponding accessories and some other electronic devices.
Right now we are in urgent need of a customer <-> company interaction platform where any customer can get any information or service regarding the products they bought or submit a complaint against the product they bought or give a suggestion to improve the service/quality of products in future. And the website should contain a set of knowledge bases and user guides so that customers can access them to solve some of their simple problems without logging a ticket

Softwares evaluated, finally selected, reason for selection

The softwres I have evaluated in the process of searching an application to fulfill my requirements are: Help centre live, HESK, osTicket and Trellis desk.
After evaluating the benefits and limits of the above mentioned applications, I have selected HESK as the solution provider to my requirements.
The reasons for selecting HESK are as follows
1.    It exactly provides the ticket raising system the company needs and  I really like the balance of features offered by Trellis. It does everything I want my helpdesk system to do, but isn’t cluttered with features I won’t need or overloaded with options that make it difficult to use
2.    And it allows to maintain knowledge base where we can put some articles or user guides regarding all the products we sell
3.    And it allows any ticket to move to knowledge base so that we can move important tickets and conversations to knowledge base so that they serve as reference to several customers and serves as frequently asked questions and their solutions
4.    And when a customer is raising a ticket with a problem, if the problem matches with any article in the knowledge base where solution to that problem is provided, it will immediately suggests to refer to that article for solution
5.    It allows the admin staff to comment, respond and follow up the customer regarding the ticket raised (reference to each ticket is ticket ID generated when a customer raised the ticket)
6.    It also sends the ticket ID to customer’s email if customer forgets the ticket ID he has raised
On the other hand, other applications I have evaluated are quite complex and even doesn’t exactly meet my requirements. And some other are mainly focusing other features such as live support, specific support to within an organization etc., and require special plugins to add to get my requirements fulfilled and need at least some technical expertise to maintain and use all the features provided.
So I have chosen HESK as the optimal solution to provide an application which meets all of my requirements

Configuration/Customization I have done

The customization/configuration I have done in my website are as follows
1.    Removed the “General” category from list of categories user can select while submitting a ticket and added the following categories
a.    Laptops
b.    System/Laptop accessories
c.    Pendrives
d.    Mobiles
e.    Mobile accessories
f.     Others
2.    Added articles and user guides of different products the company sells into the website
3.    We have two admin staff: Raviteja and Lokireddy who deals with tickets of different categories
a.    Raviteja deals with the categories Laptops, System/Laptop accessories and Pendrives
b.    Lokireddy delas with Mobiles, mobile accessories and other types
4.    And added four custom fields in the ticket raising form. They are
a.    Product ID – user needs to enter the product ID of the product provided to him while purchasing the product
b.    Type – user needs to select the type of ticket he is raising from the four types namely Information, service, compliant and suggestion
c.     Address – user need to enter his address
d.    Phone Number – user needs to enter his phone number

URL link to the actual working application

Url for customer to raise a ticket or use knowledge base: http://raviteja982000.x10.bz/hesk/

Url for admin staff to respond to tickets and add or update knowledge bases: http://raviteja982000.x10.bz/hesk/admin/

Credentials of the two admin staff are

1.    Name of the admin staff: Raviteja
Username: admin
Password: pass

2.    Name of the admin staff: Lokireddy
Username: abc
Password: 12345

Thursday, 20 September 2012

Customer feedback on CricMantra

The application developed met the requirements given. And we are extremely happy with the product we got. We are planning for enhancements to this application in the near future. As we are satisfied with your work, we will get back to you once we consolidate the enhancements required on this application. Once again thank you very much for the quality work provided.

Regards,
Cricmantra.

Wednesday, 19 September 2012

User guide for "Galaxy Book Suppliers" application

This is an application for the use of different departments in "Galaxy Book Suppliers". 

Different departments present in the company are
  1. Sales Department
  2. Inventory management Department
  3. Finance department
These departments can use different pages of this application according to the permissions they have on those pages (can be used by providing required authentication for that page). Any department can see all the pages, but cannot use them until they provide required authentication

Sales department can use the following pages
  • Make an Order
  • Add a Privileged Customer
  • Edit a Privileged Customer
Inventory Management Department can use the following pages
  • Add a Book
  • Edit a Book's quantity
  • Deliver Books
Finance department can use the following pages
  • Confirm payment
  • Edit a Book's Price
The different flows that can happen in the application are
  • Make an Order (Sales Dep) --> Confirm payment for an order (Finance Dep) --> Deliver Books in an Order (Inventory management Dep)
  • Add a book to inventory when a new book comes (Inventory maangement Dep) --> Edit Quantity of a Book when ever extra no. of already existing books come (Inventory management Dep)
  • Edit a Book's price whenever needed (Finance Dep)
  • Add a Privileged customer into the system based on his previous purchases from the company so that he can get discount (Sales Dep) --> Edit the details (such as discount) of an already existing privileged customer based on his recent purchases from the company (Sales Dep)
Detailed description of each page is as follows

Add a Book:

Inventory management department can add a book into the system whenever a new book comes by providing Name, author, quantity available and price of the book. This is the base form through which any book should enter into the system initially. Only those books entered through this form will be available in the system. Name of books being entered should be unique. Each and every different book will be recognized by its name.

Edit a Book's Quantity:

Inventory management department can edit the quantity of an available book using this page whenever new issues come to shop. Only books available in the system will be shown in the book dropdown

Edit a Book's Price:

Finance department can edit the price of an available book using this page whenever required. Only books available in the system will be shown in the book dropdown

Add a Privileged Customer:

Sales department can add a privileged customer into the system by providing name of the customer, no. of orders made, value of orders and discount available to that customer. This is based on previous interaction of that customer with the book shop. Each Privileged customer should be uniquely recognized by his name. i.e., name of each and every privileged customer should be different.

Edit a Privileged Customer: 

Sales department can edit the details of an existing privileged customer such as no. of orders, value, and discount. This is based on his/her recent interaction with book shop.

Make an Order: 

Whenever customer makes a call or directly approaches a sales person (Sales Dep), he can make an order for that customer using this form. 
  • Order ID will be automatically generated in this page and cannot be changed
  • When a customer name has been entered in this form, if it matches (exactly - case sensitive) with any of the existing privileged customer, discount allowed for him will be automatically generated in this form. If not discount will be zero
  • And then user needs to select one of the available books. When a book has been selected, the price of the book and quantity available will be automatically displayed
  • And then user needs to enter the quantity of books customer needs
  • And then total amount customer needs to pay will be automatically generated based on price, quantity ordered and discount available to customer
In this way sales person can make an order for a customer using this form

Confirm payment: 

When a customer pays the total amount regarding a particular order, Finance department can confirm payment for that order by specifying the mode of payment. Upon selecting an existing order, name of the customer and total amount will also be displayed in the form which cannot be edited. Only those orders whose payment is not confirmed yet will be available in this form

Deliver Books: 

Whenever Finance department confirms payment for an order, Inventory management department can deliver books for that order. Only those orders whose payment is confirmed and Delivery is pending will be available in this form. If available inventory is less than the number of books need to be delivered for that order, then user cannot deliver that order (System will not allow). If available inventory is sufficient to deliver that order, then user can deliver that order. And in this case after successful delivery of that order, inventory remaining will be updated correspondingly.

General information regarding the Application:

This application can be accessed in the following location Galaxy Book Suppliers

To use different pages of this application, different passwords required are as follows

SalesRep Password: SalesRep
InventoryDep Password: InventoryDep
FinanceDep Password: FinanceDep

Saturday, 8 September 2012

sample

Online Form powered by

Requirements for Zoho application

Cric Mantra

As a cricket fan, I want to maintain my own data of each match in two aspects. First being all the details of the match and second being performance of each player. So I want two interfaces to add the corresponding details.

Interface to add Match details:

The columns it should contain are Match ID, Match Type, Date, Venue, Team1, Team2, Umpire1, Umpire2, Winner, Man of the Match

Some rules that this interface should follow are 
- It should not allow to enter a Match ID which already exists
- Match Type should be a dropdown
- Date should not allow future date
- Team1 and Team2 should be dropdowns which should be populated from a list which can be dynamically modified
- Team1 and Team2 should not be same
- Winner should be one of the playing teams
- Umpire1 and Umpire2 cannot be same person
- On a same date no team can play more than one game and no umpire can attend more than one game
- On successfully adding a match details interface should redirect the user to the second interface where he can add player performance detail.

Interface to add player performance details: 

It should contain two columns. The Match ID and Performance. The Performance dropdown should contain Team1 Batting, Team2 Batting, Team1 Bowling, Team2 Bowling and the man of the match. Selecting each should take you to the required form to enter the player details. After entering each player detail, the form should take you back to the Performance page.

Team1 and Team2 Batting interfaces:

The columns which these interfaces should contain are Match ID, Batsman, Out, Bowled, Caught By, Run Out By, Stumped By, Description, Runs, Balls, 6’s and 4’s.
-The Match ID should be populated from a drop down which contains values entered in the Match Details form.
-Same batsman cannot be entered twice for the same Match ID.
-There are 10 ways in which a batsman can be out. All these should be populated in the drop down for Out column. In addition, it should contain Not Out and Did Not Bat status.
-The Bowled, Caught By, Run Out By and Stumped By columns should be accordingly for the different selections in the drop down for Out column.
-Description column should be auto updated on input in the above columns.
-The number of 4’s and 6’s hit should aggregate to less than or equal to the total runs taken.
-The Batsman should at least face one ball to score a run.
-The batsman should face at least two balls to score runs and be out by Bowled, Caught, Stumped, LBW, Hit the ball twice, Handling the ball or Hit wicket.
-The batsman should face at least one ball to be out by Bowled, Caught, Stumped, LBW, Hit the ball twice, Handling the ball or Hit wicket.
-There can only be a maximum of two not outs and 11 players entered for one Match ID.

Team1 and Team2 Bowling interfaces:

The columns which these interfaces should contain are Match ID, Bowler, Overs, Maidens, Runs and Wickets.
-The Match ID should be populated from a drop down which contains values entered in the Match Details form.
-Same bowler cannot be entered twice for the same Match ID.
-The maximum number of overs bowled by a bowler is 10 and total overs are 50 for a Match.
-The overs can be incomplete and it should be of the form x.y where y in [0, 5]. Y should not be greater than 5.
-The number of maidens bowled cannot be greater than the number of overs bowled. The maidens should be integer value.
-The total number of wickets cannot exceed 10 for a Match ID.
-Maidens cannot be less than overs-runs.

Man Of the Match interface:

The columns it should contain are Player Name, Match ID, Role, Runs, 6's, 4's, Overs bowled, Maidens Bowled and Wickets.
Some rules that this interface should follow are 
- Match ID should be a dropdown populated from the existing Match IDs which were already entered using the first interface
- Role should be a dropdown whose values can be Batsman, Bowler, All-rounder, Batsman/WK and Bowler/WK.
- When the role selected is a batsman, the following fields should not be shown to user. They are Overs bowled, Maidens Bowled and Wickets taken.
-Similarly if the role selected is bowler Runs, 4’s and 6’s should not be shown to the user.
- No two man of the Match is possible for the same match.


Develop an application satisfying the above requirements. Please contact in case of any ambiguity and add any sensible features if missed after confirming.

Saturday, 4 August 2012

System Architecture

Me: Hi Siddhu :)

Siddhu: Hi bro. Whats going on in Kgp?

Me: Classes started and I am buried in assignments already

Siddhu: Ohh.... Explain me an assignment given to you

Me: Ok. Do you know anything about System Architecture?

Siddhu: Heard the term. But don't have an idea what it is.

Me: System Architecure is an architecture which tells us where different entities needed for an application and data reside and how do they coordinate

Siddhu: Ok. Are there different types of system architectures?

Me: Yes. The first one is Single tier architecture where the data and the application reside on the same machine.

Siddhu: Can you tell me some tools which use single tier architecture?

Me: Ya. All Microsoft Office tools like MS Word, MS Excel etc., come under this. When we install these tools in any personal computer, the application  and the data both resides on the same machine. We can take the data file to an another system in which MS Office is installed and we can open that data file. These type of data files are application specific. We cannot see the data without the corresponding application installed on our computer.

Siddhu: Ok. Next type please!

Me: The next type is Two tier architecture where the application and data will be on two different machines


Siddhu: Hmm..... two different machines?

Me: Yes. Data will be there on a common shared dedicated system (server). And the applications are installed on individual user machines which will access the data server though TCP/IP protocols

Siddhu: What are the pros and cons?

Me: Advantage is that processing burden decreases on the individual machines. And the disadvantage is that when we upgrade the application to next version, we need to change that on every individual machine.

Siddhu: Ohh. Is any architecture got rid of this problem?

Me: Yes. The next type is Three level architecture where it didn't has this problem?

Siddhu: How is it structured?

Me: Data, business logic part of application and front end of application reside on three different machines. So that if we need to change any business logic of the application, we need not change in every individual machine. And the data transfer over the network is minimized. In this type, data transfer is through TCP/IP




Siddhu: Ok.

Me: Next is Multi tier architecture, where we use internet for the data transfer among servers and client machines. Apart from this change this is same as Three tier architecture


Siddhu: What is the difference between TCP/IP and internet?

Me: The basic difference is that TCP/IP is private network and internet is public.

Siddhu: If it is public, don't we need any security?

Me: Yes exactly. We need to secure our data using Firewall when using internet. 

Siddhu: Ok. Next type please.

Me: Thats what I know. Probably those are the types we have. And I have to present these in assignment for tomorrow. Its already getting late and I have to finish that work. So leave me and go to bed. Bye and good night.

Siddhu: Bye Anna. Good night tc :) :)