IS480 Team wiki: 2010T1 Maxco
|Type||Underground IT Group|
|Team members||TAI Khang Wei|
|CHER Boon Chin Robin|
|Shawn FONG Sai Yean|
|Benjamin WOON Tian Yew|
|YEO Boon Yee Stephanie|
|FB App Link||http://apps.facebook.com/buyonegiveone/|
|B1G1 World Link||http://www.b1g1.com/facebook/b1g1world/app/|
- 1 Team MaxCo
- 2 Stakeholders
- 3 Project Overview
- 4 B1G1 Suite of Applications
- 4.1 How our suite of products will create value for our client B1G1
- 4.2 B1G1 World
- 4.3 B1G1 World Facebook Application
- 4.4 B1G1 World Widgets
- 4.5 Administrative Module
- 5 Diagrams
- 6 Project Workplan
- 7 Project Management and Tracking
- 8 Metrics
- 9 Resources and Tools
- 10 Project Deliverables
- 11 Learning Outcome
Team MaxCo comprises of 6 like-minded Information System undergraduates possessing a flair for all things IT. Having worked with each other at one point of time or another, the forming of MaxCo was imminent because of our positive chemistry and good-humoured nature. Our team name, MaxCo, is an abbreviation for Maximum Consultancy, and makes known the standard of quality and excellence we aim to attain during the course of this project. With our motto, “To the Max”, we indeed carry high aspirations to deliver client satisfaction aplenty.
- TAI Khang Wei
- Proactively managing project scope and overall schedule to ensure work is assigned and completed on time
- In-charge of disseminating project information to all stakeholders and Resource management
- CHER Boon Chin Robin
- Assistant Project Manager that take responsibility of the wiki update
- Back-End Coding
- Issues Tracking
- Shawn FONG Sai Yean
- Visualization algorithms and interface design
- Delegation of Development Tasks and Back-End Coding
Subject Expert (Database)
- YEO Boon Yee Stephanie
- Database schema design and Prepare or review physical database designs
- Support the project development in the field of data mining
- GUO Jinchuan
- Develop the Application Architecture and back-end coding (Social Application)
- Responsible in developing test cases and facilitating User-Acceptance Test and Heuristic Evaluation
- Interface Design
- Benjamin WOON Tian Yew
- Ensure that documentation are adhere to the highest quality and standard.
- Identifying, managing and mitigating project risk
- Public relations guru and back-end coding (Social Application)
Changing our world one transaction at a time
Buy1GIVE1 is a non-profit social enterprise established in 2007. It is a simple idea positively trying to cultivate the world into a world of giving, through a very specific transaction-based giving model. B1G1 gives businesses the power to change our lives. B1G1 moves giving from an ad-hoc, event-driven model to a very specific transaction-based giving model — a world where every transaction gives back and makes a difference. It means that giving becomes an effortless habit, changing our lives and making a difference every second, every day and in every way.
Professor Zhu Feida
School of Information Systems
Previous FYP teams that worked with B1G1
Stakeholders Coordination and Management
We meet our Supervisor every week to keep him up to date on our project progress, and also getting valuable feedbacks from him that will enhance our project. Our team have meetings on Friday, Saturday , Sunday or all three days to develop the project's functions and also discuss the next steps for our project. We also conduct joint meetings between our supervisor and client to ensure that we have a consistent level of expectations amongst everyone.
Working closely with non-profit organization Buy1GIVE1 (B1G1), team MaxCo aims to do its part for the community by raising awareness on pertinent world issues like famine and extreme poverty by leveraging on the immense outreach capabilities that the internet and social networking websites provide.
By identifying and graphically representing the network of individual and corporate donors linked to each other, we hope to build a strong philanthropic community of followers, and also aim to increase the visibility and membership numbers of B1G1. Creating a Facebook application and a website add-on, MaxCo seeks to propagate the notion of compassionate giving, as well as to give sympathetic individuals an avenue to pledge their support for charitable causes of their choice and tell their friends about it.
- Worthy Cause Partners - They are organisations that organizes Worthy Cause Projects.
- Worthy Cause Projects - Theses are change-making activities such as providing people access to clean water.
- Businesses That Give - They are businesses that are participate in giving to Worthy Cause Projects whenever they sell a product that they pledge.
B1G1 is managed by a small team of dedicated individuals, and operates on the concept of having member businesses donate a predetermined amount of money to help underpriviledged people for every X number of business items sold. Both MaxCo and B1G1 feel that with such an interesting and beneficial scheme, more can be done to let businesses in various industries become aware of this win-win offering and allow them and their customers to play their part in helping the poverty stricken.
B1G1 also has a large amount of data that our team intends to represent in a more attractive and user-friendly way to attract the attention of the mainstream. We hope to educate the public in a subtle yet effective way by showing statistics and interesting visual representations of certain data pertaining to the many unfortunate parties around the world. Also, because of the presence of a growing number of outspoken youths and individuals who feel strongly about the above mentioned world issues, MaxCo wants to provide an avenue on Facebook for them to pledge their support for the charitable cause(s) of their liking and to invite their contacts to do so too. Hopefully this cycle of pledging support and inviting contacts would be continued, exponentially increasing peoples’ awareness about poverty and the part they can play to staunch it.
Maxco aims to build B1G1 World, a topographical depiction of B1G1's list of business donors, and link them all together to form a web-like network of business owners, business users, individual users, and beneficiaries on an interactive global map. To represent corporate contributors and their recipients in an accurate and visually interesting manner, businesses will be graphically linked to their beneficiaries by arrows to show all contributions made out of the company. Making use of the existing network, our interactive global map will additionally allow the discovery of other like-minded individuals or corporate entities supporting the same project or that share the same geographical location or upstream invites etc.
Our team’s goal is ultimately to present hard data in an appealing way, as well as to better represent all the relevant stakeholders by showing a comprehensive nexus of business members and their beneficiaries on a computer generated map. We also aim to expand B1G1’s outreach capabilities by leveraging on social networking site Facebook.
In this project, we will develop B1G1 World, an interactive visualization tool of B1G1’s network of members. The members mainly include:
- Business Members - Companies/organization that support projects (pay a subscription fee)
- Employee Members – invited by Business Members (free)
- Friends – invited by Business Members and other users (free)
- Free Users – individuals who own a free account (free)
B1G1 Suite of Applications
How our suite of products will create value for our client B1G1
The visualisation would be based on a world map, where members and projects would be marked on it. Flash would be used to animate. The diagram on the right shows a rough prototype of what this tool will look like with the arrows infering network of relationships. On top of that, a Facebook application would be developed to enlarge B1G1’s base number of members as well as to widen outreach and exposure for B1G1.
Display of Entities located at the Purple Markers
Clicking upon the Purple Markers on the map will displayed the different entities(Businesses That Give, Worthy Cause Partners and Worthy Cause Projects) that are located at that particular region. The user can zoom into an entity and view its details just simply by clicking on the entity. The different capabilities of each different entity types filter will be explained below.
Filter: Businesses That Give
Hovering the cursor over the Polyline will display the giving impact to the specific Worthy Cause Project made by the Business That Gives. If there are more than one Worthy Cause Project in the same area, the users would be able to scroll through the various giving impact details by a left and right button; otherwise, the information would refresh itself periodically.
Filter: Worthy Cause Partner
Filter: Worthy Cause Project
Filter: By Regions
Filter: Leverage of a Business That Gives
Keyword Search Function
Imagine that the shops that you frequent daily are part of B1G1. Whenever you make a spending there, you would be contributing back to the society. I Recommend! would allow users to recommend businesses that they think would do B1G1 good.
B1G1 World Facebook Application
We want to spread the joy of giving at B1G1 to everybody in the world, but how can we do so? Hence, we decided to leverage on the 524,000,000 users on Facebook!
Overall look of B1G1 Facebook Application
Pledge support for Worthy Cause Projects
Synchronization of B1G1 Account with Facebook
Did you know
B1G1 World Widgets
These widgets are developed to allow users (B1G1 members or not) to place it on their own sites to show their giving or support to B1G1. The visually appealing widget would spread the word of giving, when other people see on the member's site.
The administrative module gives administrators control over our B1G1 World Application, Facebook page and Widget. We aim to provide B1G1 administrators convenience with this module. It has mainly 3 functions:
Manage Did You Know
Initial idea when we are thinking how can we display giving details of a particular company to different projects globally.
The first concept when we think of displaying the company giving details via a wiki.
Our very first concept of B1G1 world before we developed the application. It consist of a Navigation panel on the right, and the giving details are displayed below on the bottom panel.
Use Case Diagram
The diagram on the left shows a overview of the design of the whole suite of B1G1 World Applications. On the one hand, the B1G1 World Application and Widget are made possible using Flash and get access to the database through XML files created by custom-coded PHP files we have done to extract the relevant data from our client, B1G1's database. On the other hand, the B1G1 World Facebook Application and Administration Application is made possible using PHP. Both of these have direct access to the B1G1 database.
How it works? - B1G1 World Application & Widget
The diagram on the right shows the technical overview diagram of the B1G1 World Application and Widget. With a modular design planned right from the start, the B1G1 World Widget reuses a lot of the modules that was created for the B1G1 World Application. Some of these modules are the Event Actionscript Classes which supports custom events, Datacontroller.as which acts as the interface which interacts with the database, and also the ItemDisplayModule.mxml Flex class which handles all the flashy animations and tweening found in both the B1G1 World Application and Widget. This helps us as we can focus more on refining the codes rather than building things from scratch again.
How it works? - B1G1 World Facebook & Administration Application
The diagram on the left shows the technical overview diagram of the B1G1 World Facebook and Administration Application. A Database.php file is commonly shared across both applications. This is the file that provides the access to the B1G1 database. The difference between the set of files in the Facebook and Administration Applications is that one of them communicates with the Facebook API and the other with Google Map API. Other than this, another PHP file, Geocode.php is also modularized because it is used by the B1G1 giving engine and also the admin module which reduces our time spent on creating duplicate versions of codes that does the same thing and this in turn gives us more time to refine our codes to maximize the efficiency of codes that we have developed.
Project Management and Tracking
Project Development Status
Risk and Mitigation Strategy
To have a better overview and measurement,through quantitative methods, we adopted Bug metric and Schedule metric to help us evaluate our project process. It is good way for aligning measurements with business requirements and goals.
Software bugs are error flaw, mistake, failure, or fault in a computer program or system that produces an incorrect or unexpected result, or causes it to behave in unintended ways. And it is every software project team’s goal to reduce the number of bugs that can be found in their software that they are doing to develop.
The Bug Metric serves as a tool to help reduce the number of bugs that can be found in the software. Each bug is given a severity level which is tied to a severity score. At the end of each iteration, the functions would be tested and bugs would be reported to the Mantis bug tracking System. The project manager then assigns the bugs to the team to solve. The type of attention would be according to the severity of the bug, which would be described in our action plan.
The proposed severity level and score and formula for the cumulative bug severity score is as follow:
The Bug Severity Point (BSP) is caculating the summation of the number of bugs of each severity level. The formula is as follow:
BSP = ∑ (B x S)
BSP - Bug Severity Point (BSP)
B - Number of Bugs found of the severity level in the interation
S - Severity Level
The schedule metric measures how well is the schedule planned. The schedule metrics is updated on a weekly basis by the project manager. The project manager will check the Schedule Performance Index weekly and also after every iteration.
This measurement of actual against estimated time in days is called the Schedule Performance Index (SPI) and the calculation or formula is as follow:
SPI - Schedule Performace Index (SPI)
AT - Actual time (in days) taken for task completionn
ET - Estimated time (in days) taken for task completion
Weekly Action Plan
Per Iteration Action Plan
Resources and Tools
Software Development Kit
- Adobe Flex SDK
- Facebook SDK
- Google Maps SDK
- Flare ActionScript library
- Eclipse Java EE Edition
- Apache Ant
- Filezilla FTP Client
- Microsoft Project
- Mantis Bug Tracker
User Acceptance Test 1
User Acceptance Test 1 B1G1 World
User Acceptance Test 1 Facebook
User Acceptance Test 2
User Acceptance Test 2 Admin Module
User Acceptance Test 2 B1G1 World
User Acceptance Test 2 Facebook