System Requirement Analysis
For
Construction Management Systems (CTMS)
Version:
1.0 Dated:
14 May 2013
Table of Contents
1. Introduction.................................................................................................................... 4
1.1 Problem Definition.................................................................................................... 4
1.2 Purpose...................................................................................................................... 4
1.3 Scope........................................................................................................................... 4
1.4 Market Survey.......................................................................................................... 5
1.5 Definitions, Acronyms, and Abbreviations.......................................................... 6
1.6 Reference.................................................................................................................. 6
1.7 Overview..................................................................................................................... 7
2. The Overall Description............................................................................................... 7
2.1 Product Perspective............................................................................................... 8
2.2 Product Functions................................................................................................... 9
2.3 Constraints, Assumptions and Dependencies.................................................. 11
3. Specific Requirements................................................................................................. 12
3.1 Interface Requirements........................................................................................ 12
3.1.1 FAS Biometric Integration........................................................................................ 12
3.1.2 Graphical User Interface........................................................................................... 12
3.2 Functional Requirements...................................................................................... 13
3.2.1 User Management................................................................................................... 13
User Login........................................................................................................................................................ 13
Change Password........................................................................................................................................... 13
User Role Permissions................................................................................................................................... 14
User Account Management........................................................................................................................... 14
3.2.2 Data Setup.............................................................................................................. 14
Worker Management...................................................................................................................................... 14
Contact Management..................................................................................................................................... 15
Supplier Management.................................................................................................................................... 15
3.2.3 Resource................................................................................................................ 16
Workers............................................................................................................................................................. 16
Inventory............................................................................................................................................................ 16
o Assets............................................................................................................................................................ 16
o Items.............................................................................................................................................................. 17
Resource Requisition...................................................................................................................................... 17
3.2.4 Project Management................................................................................................ 17
Project Listing................................................................................................................................................... 18
Project Summary............................................................................................................................................. 18
Contacts List..................................................................................................................................................... 19
Tasks List.......................................................................................................................................................... 19
Project Progress.............................................................................................................................................. 20
Workers List...................................................................................................................................................... 21
Attendance List................................................................................................................................................ 22
Safety (Toolbox Meeting)............................................................................................................................... 23
Project Checklists............................................................................................................................................ 25
Inventory............................................................................................................................................................ 26
Inventory Transactions................................................................................................................................... 26
Resource Requisition...................................................................................................................................... 27
Assets................................................................................................................................................................ 27
Expenses.......................................................................................................................................................... 27
3.2.5 Miscellaneous......................................................................................................... 28
Dashboard........................................................................................................................................................ 28
Languages........................................................................................................................................................ 28
4. Magicsoft SaaS Framework....................................................................................... 28
4.1 Our Technology...................................................................................................... 28
Environment..................................................................................................................................................... 28
Language & Tools........................................................................................................................................... 29
Framework........................................................................................................................................................ 29
Database&Tools.............................................................................................................................................. 29
Version Control................................................................................................................................................ 29
Administration Tool......................................................................................................................................... 29
Server................................................................................................................................................................ 29
Concept............................................................................................................................................................. 29
Report & tools................................................................................................................................................... 29
4.2 Diagram of Magicsoft Framework..................................................................... 30
5. Appendix.......................................................................................................................... 34
Singapore’s construction industry faces challenges such as low productivity due to a large number of manual and paper-based business processes as mentioned by our Senior Minister of State for National Development, Lee Yi Shyan (Channel NewsAsia, 2013) in his speech early last month.
It is a complex industry, as it involves several tens of thousands of players at various layers along the value chain. It requires a large amount of interaction between different parties working on a project. In addition, there are numerous compliance and regulatory requirements which can be time-consuming and tedious to complete without systems and processes in place to automate the work.
Hence, it is no easy task to unravel the manifold, intricate and interlocking causes of the challenges faced by the industry.
Magicsoft Asia Systems propose to develop a constructions management system in which people from the industry can manage the overall planning, coordination, and control of a project from beginning to completion to increase productivity and work automation.
The first aim of the project is to provide users with a framework which utilizes multitenancy. This refers to a principle in software architecture where a single instance of the software runs on a server, serving multiple client organizations (tenants).
Secondly, we aim to develop a much flexible, scalable and secured system. It will therefore, centralize all project data, normalize existing data structure and fine tune current business processes to make sure the new system fulfill the functional needs.
CTMS may include but are not limited to:
Portal
Allows users to log on and manage project information and related fields on site. It supports multiple languages like English, Bahasa, Mandarin and Tamil that users can change at any point of time. The subscription fee will be implemented at a later date where users will have to sign up/register and pay to use the software.
|
Mobile
While there are existing construction management systems in the market, we want to propose a system that is similar but different to some extend. CTMS is also accessible on mobile. Project executives are able to monitor workers at the ground level. This will ensure that a system is in place and it should be diligently followed. Users are also able to upload photos via mobile.
|
Administrative
Users are able to set their master data upon logging in. Users can change the site settings. They can create multiple users and assign to different user rights. Authorized users are also able add/edit/delete workers which can be later assigned to the different projects. Authorized users can also add in workers’ payroll and other necessary information. Without completing the administration page.
|
Project
Users are able to view their list of projects and add any future projects. The software provides a simple web-based interface for managing workers, attendance, inventory, resource requisition, submitting requests, managing project budgets and contracts. The role-based security ensures that users have appropriate rights to each module, which increases accountability.
|
Workplace Safety & Health
Forms in regulation with the government’s are also implemented to automate paperwork. This allows project executives to focus on managing projects, not paper. As paperwork decreases and communication and accountability become clearer, this means a more efficient and effective use of personnel resources, saving both time and money.
|
Reports
CTMS data can be reported on from both the Dashboard and at the individual project level. For dashboard reporting, users can see a high-level view of project administrators, project delays across the entire project dashboards, and task status. Company-level reporting includes job cost summaries and timecard tracking.
|
Document Management
CTMS ability to offer powerful document management functionality via a web-based application sets CTMS apart from the competition. Due to CTMS automatic revision control, user’s project team members will always open the most current version of any document. Every past iteration of each document is also stored in CTMS, enabling users to see a complete history of every document in the archive at any time.
|
America-based Software Advice surveyed 230 America’s construction professionals to find out about software adoption and effectiveness in the construction project management industry. The 2013 Construction Project Management Software Benchmark Report reveals that in a survey conducted by Software Advice, over 94 percent of the participants use some type of software to manage projects. The majority, 61 percent, uses specialized software while 25 percent rely on generic packages, and 8 percent have a homegrown solution.
Over 50 percent of the respondents were general contractors and construction managers. The survey covered firms with a few to over 500 employees. Most participants managed between one and ten projects each month.
Software Advice also indicated that Cloud services are booming; 57 percent of survey respondents use their applications over the internet; a dramatic shift in the last two years.
Singapore’s construction industry however is lagging behind time despite being on par with other developed countries. The industry has been facing challenges such as low productivity due to a large number of manual and paper-based business processes. In addition, there are numerous compliance and regulatory requirements which can be time-consuming and tedious to complete without systems and processes in place to automate the work.
In our approach, we intend to answer the need of a similar system that is applicable to Singapore’s construction industry as this technology has existed in countries like America.
Terms |
Definition |
CDN |
System containing copies of data, placed at various places in network to maximize the bandwidth for access to the data from clients through the network.
|
CTMS |
Construction Management Systems
|
Linux |
A Unix-like computer operating system assembled under the model of free and open source software development and distribution.
|
Memcached |
Distributed memory caching system, which is responsible for caching data in RAM to reduce read operation to external system (usually database).
|
Mongod |
Primary MongoDb worker process that runs on an individual server.
|
MongoDB |
Open source document-oriented database system. High performance & schema free.
|
NA |
Not Applicable
|
Nginx |
Reverse proxy server (front end server) which can distribute load from incoming requests to several backend servers. Nginx can handle high concurrency with low memory usage.
|
PTW |
Permit to Work
|
Push Notification |
Push, or server push, describes a style of Internet-based communication where the request for a given transaction is initiated by the publisher or central server. It is contrasted with pull, where the request for the transmission of information is initiated by the receiver or client.
|
REST API |
An approach for distributed architecture, which defines how server resources are represented.
|
Sharding |
A horizontal partition of database among multiple machines in order preserving manner.
|
SPA |
Single-page application also known as single-page interface (SPI), is a web application or web site that fits on a single web page with the goal of providing a more fluid user experience akin to a desktop application.
|
Tornado |
Scalable non blocking web server which can handle simultaneous concurrent connection. In Magicsoft Framework, it acts as backend web server.
|
Website |
A set of related web pages containing resources, incl. text, video, music, audio, images etc. A website is hosted on at least one web server, accessible via a network such as the Internet or a private local area network through an Internet address known as a Uniform Resource Locator.
|
· Bandarupalli, K. 2012. Single Page Applications using ASP.NET. [online] Available at: http://www.techbubbles.com/aspnet/single-page-applications-using-asp-net/
· Channel NewsAsia. 2013. Urgent need for construction industry to raise productivity: Lee Yi Shyan. [online] Available at: http://www.channelnewsasia.com/news/business/singapore/urgent-need-for-construction-industry-to/677692.html
· Heiskanen, A. 2013. How to Be Successful with Construction Project Management Software - AEC Business. [online] Available at: http://aec-business.com/how-to-be-successful-with-construction-project-management-software/
· Vivian, C. and Gayathri, R. 2009. USE OF BIOMETRICS. [e-pdf] Available through: TechCast Article Series http://www.techcast.org/Upload/PDFs/634122830612738824_Biometrics-VivianandGayathrilo-res.pdf.
· 10gen.com. 2000. Customer Success Stories | 10gen. [online] Available at: http://www.10gen.com/customers
Readers get a clear understanding of the project and project requirements by examining this requirements analysis report. With the help of the sequence, behavior, and use-case diagrams, the behavior of the product and the functions of the system are defined clearly to the user. The system requirements for both the development and usage stages are stated. The user interfaces and the information transmission between the states of the product are made clear to the user.
The CTMS will provide the basic functionality as per introduced. It is a mobile construction project management solution that also serves as a communication and coordination tool for various groups involved on a construction project. It improves productivity through the automation of manual processes such as: data collection, processing, submission, approval, and billing. It also assists with meeting regulatory requirements through providing standard templates for compliance and reporting to the Building Construction Authority.
This helps to reduce wastage due to having re-work errors made. This improves productivity and frees up resources to perform more value-add work such as focusing on sales and service delivery to customers. All projects will be sharing a centralized database therefore data analysis at project level is possible.
The CTMS will normalize and stream line existing data structure and processes to achieve better control over work flow and data maintenance.
Our Construction Management System is divided into two main modules: Portal and Mobile modules. While Portal module mainly focuses on the project management on any available systems with internet, Mobile module focuses on the push notification that allows users to access while on the go. The overall scope of the project is given on Figure 1.
· Portal is the key module of the system separated into three sub-modules: Administration, Resources and Project management.
·
Mobile
module is responsible for information to be accessed on the go. There are three
sub-modules of mobile: Administration,
Resources and Project management. It has the same sub-modules as Portal because it uses a
framework that runs on Linux server and uses an asynchronous approach to
deliver static content with efficient use of system resource; offering the
framework for future Scalability, reliability, maintainability and security.
· One of the most crucial parts of our software is to integrate it with FAS Biometric fingerprint recognition system. With the FAS biometric fingerprint recognition systems, users are able to monitor workers by their time in and out based on the time they scan their fingerprint. This automates the attendance taking process for workers.
Figure 1: Overall description of the project.
System functions that answers to all requirements are stated below. They are grouped into six parts, each of which serves different main purposes that are explained in details in the 3.2 - Functional Requirements part.
By the help of these functions, a user can log into their own subdomain and change password. Authorized users are able to add new accounts and assign roles.
Specification Description |
User Login – View |
Change Password – View/Edit |
User Role Permissions – View/Assign |
User Account Management – View/Create/Edit/Delete |
Data Setup
Users can add in key information related to workers and company that can be reviewed by any authorized user at any point of time.
Specification Description |
Worker Management – View/Add/Edit/Delete/Print |
Contact Management – View/Add/Edit/Delete |
Suppliers– View/Add/Edit/Delete |
Resources
Users can add in key information related to materials or resources that can be reviewed by any authorized user at any point of time.
Specification Description |
Workers – View/Add/Edit/Delete |
Inventory – View/Add/Edit/Delete |
Resource Requisition – View/Add/Edit/Delete |
Project Management
These functions allow users to manage their projects individually. Users will able to find items related to the project authorized to access
Specification Description |
Project Listing – View/Create/Edit |
Project Summary – View |
Workers List – View/Add/Remove/Print |
Tasks List – View/Add/Remove |
Attendance List – View/Check in/Check out/ Assign Task/Take Photo |
Safety ( Toolbox Meeting) – View/Add/Edit/Delete |
Contact List – View |
Project Progress – View/Add/Edit/Delete/Take Photo |
Project Checklists – View/Add/Remove/Print |
Resource Requisition – View/Add/Edit/Delete |
Inventory – View/Add/Edit/Delete/Upload Photo |
Inventory transactions – View/Add/Edit/Delete |
Assets – View/Add/Edit/Delete |
Expenses – View/Add/Edit/Delete |
Project Reports – View |
Help
Additional features of the system are carried out by the following system functions. This part includes functionalities independent of our two main modules: Portal and Web.
Specification Description |
Concepts – View |
Tutorials – View |
FAQs – View |
Miscellaneous
Additional features of the system are carried out by the following system functions. This part includes functionalities independent of our two main modules: Portal and Web.
Specification Description |
Dashboard - View |
Languages - View |
About - View |
Contact Us - View |
Terms of Service - View |
Privacy Policy - View |
Help - View |
(Bandarupalli, 2012)
The SPI model utilizes all necessary code – HTML, JavaScript, and CSS – and is retrieved with a single page load or the appropriate resources are dynamically loaded and added to the page as necessary, usually in response to user actions. The page does not reload at any point in the process, nor does control transfer to another page.
While it yields a more interactive user experience, the model breaks the browser's design for page history navigation using the Forward/Back buttons. This presents a usability impediment when a user presses the back button, expecting the previous screen state within the SPA, but instead the application's single page unloads and the previous page in the browser's history is presented.
The traditional solution for SPA's has been to change the browser URL's hash fragment identifier in accord with the current screen state. This can be achieved with JavaScript, and causes URL history events to be built up within the browser. As long as the SPA is capable of resurrecting the same screen state from information contained within the URL hash, the expected back button behavior is retained.
To further address this issue, the HTML5 specification has introduced pushState and replaceState providing programmatic access to the actual URL and browser history.
Also, SEO has historically presented a problem for public facing websites wishing to adopt the SPA model.
Because SEO compatibility is not trivial in SPAs, it's worth noting that SPAs are commonly not used in a context where search engine indexing is either a requirement, or desirable. Use cases include applications that surface private data hidden behind an authentication system. In the cases where these applications are consumer products, often a classic "page redraw" model is used for the applications landing page and marketing site, which provides enough Meta data for the application to appear as a hit in a search engine query. Blogs, support forums, and other traditional page redraw artifacts often sit around the SPA that can seed search engines with relevant terms.
One of the most crucial parts of our software is FAS Biometric integration. Biometrics has long being touted as a powerful tool for solving identification and authentication issues for immigration and customs, physical security, and computer security. It involves measuring one or more unique physiological human characteristics.
In a Research done by TechCast, 77% of respondents of the targeted population said biometric technologies are a useful tool for the authentication of identity. 16% liked its scalability, accuracy, security of biometric owners, and ethics. Only 7% were opposed to using biometrics. The technology that respondents most widely accepted was fingerprint recognition (rated 8.15/10), followed by iris recognition (7.9/10). Signature recognition received the lowest acceptance rate (5.72/10).
When asked to rate the places it should be used, respondents favored using biometrics for office building security, travel, air transportation screening, medical procedures, banking and other financial transactions, and government functions. (Vivian et al. 2009)
With this research as our baseline, we engaged Hense Technology Pte Limited to provide us with the hardware. And with the help of this interface, our software is able to allow automatic attendance recording without the hassle of having a supervisor or a manager to log into the system – be it mobile or web portal – to manually indicate that the workers attached to the project site has checked in and out of work.
Data Setup, one of the main modules of the web portal needs an effective user interface in order to increase the usability of our software. Therefore, we decided to create a GUI to satisfy that need. In order to create a GUI, we are going to use Adobe Photoshop CS6.
Here is one example of the main window of our software belonging to Worker management under Data Setup.
Figure 2: A proposed example user interface for Worker management under Data Setup.
The functional requirement analysis covers all functionalities group by functional area.
All CTMS users can access CTMS site via the User Login page. CTMS provides audit trail for users’ login/logout action. It records the last login of the user and date of registration of account.
If login is successful, user will be directed to the CTMS main screen and see the list of menu items that he/she is authorized to access. If login is not successful, a warning message will be displayed and user can try to login again. CTMS will provide first level user authentication checking. CTMS also checks on maximum number of login attempts to prevent hacking.
Both Administrative and normal users can change their password in CTMS. They can do so by entering their new password and save. New password will take effect on user’s next login.
Administrative user can use User Role Permissions to allocate or remove role permissions. User roles are separated into two groups: administrative user and normal user.
Administrative user accounts have full access to the whole CTMS.
Staff and Registered User accounts have limited access. They are not able to access administrative modules unlike Administrative users.
Administrative user can use User Account Management to create, edit and delete CTMS user accounts. User accounts are separated into two groups: administrative user and normal user.
Administrative user accounts have full access to the whole CTMS.
Staff and Registered User accounts have limited access. They are not able to access administrative modules unlike Administrative users.
Administrative user can disable user accounts by setting them as “Inactive”. This will make sure the user account can not be use for login into CTMS. However, all transactional records related to the inactive user accounts can still be viewed.
Administrative user can add in database for workers. This database will be used by Project Management where user can assign workers to respective projects. Administrative user needs to enter Worker’s name and Code when adding in a new worker. The rest of the information can be entered at a later stage by the administrative user. With the integration of the biometrics, administrative users can input the unique ID for individual workers into the system.
Administrative user can also view and edit the workers’ details if clicked on and print the monthly report for individual workers. If worker is no longer working for the company, administrative user can click delete to remove them from the database or click on release to release them from the project that they are assigned to.
Administrative user can add in database for contacts. This database will be used by Project Management where user can assign contacts to respective projects. Administrative user needs to enter Appointment Holder/Authority and Contact Details when adding in a contact. The rest of the information can be entered at a later stage by the administrative user.
Administrative user can also view and edit the Contact details if clicked on and delete to remove them from the database.
Administrative user can add in database for supplier. This database will be used by Inventory Management where user can assign a supplier to individual Item in inventory. Administrative user needs to enter Supplier Code and Company Name when adding in a Supplier. The rest of the information can be entered at a later stage by the administrative user.
Administrative user can also view and edit the supplier details if clicked on and delete to remove them from the database.
Authorized user can add in database for workers including sub contractors’ workers. This database will be used by Project Management where user can assign workers to respective projects. Authorized user needs to enter Worker’s name and Code when adding in a new worker. With the integration of the biometrics, authorized users can input the unique ID for individual workers into the system.
Administrative user can also view and edit the workers’ details if clicked on and print the monthly report for individual workers. If worker is no longer contracted to the company, authorized user can click delete to remove them from the database or click on release to release them from the project that they are assigned to.
Authorized users can add tangible assets into Inventory assets. These listed items serves as a master data and project supervisors/foreman can view from individual project. They are also able to acquire assets by submitting the requisition form by selecting the items that is needed from the repository.
Authorized users can add inventory items into Items. These listed items serves as a master data and project supervisors/foreman can view from individual project. They are also able to acquire resources by submitting the requisition form by selecting the items that is needed from the repository.
Resources Requisition will contain the list of requisition forms collated from the different project sites. These forms represent a repository where project supervisors or foreman submits an official document to the office staffs that they require the materials stated in the form.
The office staffs then have a choice to approve or reject the submission form. In an instance where it is approved, office staff will then generate a purchase order form and send it to the suppliers and will notify the project site on the status.
Administrative user can use Create New Project function to create new project sites for CTMS. Administrative user needs to enter Project Code and Project Name when creating a new project. The rest of the information can be entered at later stage by the project supervisor.
Both Administrative user and normal project users can view CTMS projects under Projects Management.
Normal project users can only access projects assigned to them. Authorized project supervisor can update project specifications for active projects. But only have read access to “Cancelled” and “Completed” projects.
Administrator can access all projects having In Progress, Cancelled, or Completed. Administrative user can update all projects’ project information and status.
Authorized project users can view, add, edit and delete project milestones of a selected project. Adding and Updating of project milestones including order and re-order of milestone sequence, update milestone name, expected completion date and relevant remarks. Milestone names of a project must be unique.
Authorized user can add a list of contact details that is pre-entered by administrative users under Data Setup. This list will serve as a repository for users to refer to if there is a need to contact any key personnel related to the project.
Authorized users are able to add, edit or remove tasks for individual project under Tasks. These tasks will also have indication of the job done so that project supervisors or foreman can review and assign workers accordingly.
Authorized users can use this feature to upload photos to report progress and categorize them into different folders; leading to a better organization of image files. These photos can be taken directly from Mobile and uploaded into the system. All images will be resized automatically. Users can also opt to submit their hardcopies of progress report.
Workers list will display the workers attached to the site. Authorized users are able to view, add or remove workers. Monthly report related to worker’s salary is able to be printed out using this module. Removing worker from the list will not remove the worker from the database, but from the project only. Users can read into details of the worker by opening up individual worker profile.
Attendance list is where authorized users can go in and manually check in and check out from the system. This module also allows authorized users able to assign task to individual workers. Removing worker from the list will not remove the worker from the database, but from the project only. Users are also able to search and add workers.
With the FAS biometric integration, this attendance list will be deemed surplus for the system as we are expecting checking in and out of work to be automatic.
(Photo courtesy of Magicsoft Asia Systems)
Running effective toolbox meetings can be a challenge. To help make it easier, the toolbox meetings have been included to provide a simple, clear format for conducting effective toolbox talks.
These meetings should be organized at the shift or section levels where shift-supervisors or section leaders disseminate production and safety and health information. Safety reminders and warnings, safety precautions, dos & don’ts and/or other relevant safety rules & regulations should be issued to workers and keyed into the system.
Authorized users are also able to add in images as photo evidence that the toolbox meeting has been conducted.
Samples of Toolbox meeting during our site visits:
Checklists may help users take steps to avoid hazards that cause injuries, illnesses and fatalities and by diligently enforcing the rules, it allows users to be cautious and seek help in an instance a potential hazard surfaced.
The checklist forms that are integrated so far are listed in the screenshot below.
According to the Workplace Safety & Health act, an employer must, as far as reasonably practicable, protect the safety and health of employees or workers working under their direct control, as well as all who may be affected by their work. His/Her duties include:
In compliance to the Workplace Safety & Health (WSH), Ministry of Manpower (MoM) and Building & Construction Authority (BCA), we will be adding more checklist forms e.g. the risk assessment form which complies to the regulations set by the above organizations mentioned; allowing users to be more confident in using our system as they just generate the checklists and print out and show to the authorities when asked.
Inventory will have a list of materials for individual project sites. This is to be maintained by project supervisors or foreman. Based on this list, authorized users can also acquire materials via the Resource Requisition.
Authorized users are able to view the inventory transactions for individual project. It will calculate the in and out and reflect the final amount on the inventory list.
Resource requisition allows authorized users to request for materials or assets based on the list of items in the master data which will be sent to the administrators for review as each requisition form is appraised on a case by case basis.
Assets allow authorized users to view the assets available on their project site. These also allow administrative users to locate the assets. If an authorized user requires an asset, he/she is required to request via Resource Requisition.
Expenses display the amount spent on the project from the start till the completion of the project. This allows administrative staffs to data mine on the cost.
Dashboard is the welcome screen of CTMS. It will display status like Project Summary and Notifications. These notifications can be related to Resource Requisition. Project Summary will have key information for the logged on user to view.
It supports multiple languages like English, Bahasa, Mandarin and Tamil that users can change at any point of time.
To get the best results from our SaaS solutions, users need easy-to-use IT management solutions.
Magicsoft’s SaaS solutions let user seamlessly manage services, projects, products, people, and reports. Available through any Web browser, our solutions are designed to help you shorten deployment times, reduce risks, and lower costs, including support and maintenance expenses.
The framework runs under our Linux server and uses an asynchronous approach to deliver static content with efficient use of system resource. Magicsoft Asia Systems offers the framework for future scalability, good performance and value for money.
Ø Centos (www.centos.org) OR Arch Linux (http://archlinux.org)
Ø Python
Ø Requirejs
Ø Jquery (http://jquery.com/)
Ø Bootstrap (http://twitter.github.io/bootstrap/)
Ø Backbonejs (http://backbonejs.org/)
Ø Underscorejs (http://underscorejs.org/)
Ø PIL - Python Image Library (http://www.pythonware.com/products/pil/ or https://pypi.python.org/pypi/Pillow/)
Ø PyCharm (http://www.jetbrains.com/pycharm/)
Ø CSS3 (https://en.wikipedia.org/wiki/Cascading_Style_Sheets)
Ø Tornadoweb (http://tornadoweb.org/)
Ø Mongodb (mongodb.org)
Ø Redis (http://redis.io)
Ø Mongokit (http://namlook.github.io/mongokit/)
Ø GIT (http://git-scm.com)
Ø Fabric-deployment (http://docs.fabfile.org/en/1.6/)
Ø Nginx reverse proxy server (http://nginx.org/en/)
Ø Single Page Application concepts and implementation (http://en.wikipedia.org/wiki/Single-page_application)
Ø RESTful service (https://en.wikipedia.org/wiki/Representational_state_transfer)
Ø Websockets (http://en.wikipedia.org/wiki/WebSocket)
Ø HTML5
Ø RESTful service concept and implementation
Ø Jasperreports (http://community.jaspersoft.com/project/jasperreports-library)
Ø iReport designer
Run under Linux server and uses an asynchronous approach to deliver static content with efficient use of system resource, we offer the framework for future Scalability, reliability, maintainability and security.
We developed using Tornado with Python Programming Language because Tornado is distinct from most mainstream web server framework because it is non-blocking and reasonably fast. It can handle thousands of simultaneous standing connections, which means it is ideal for real-time web services.
MongoDB: Open source document-oriented database system. High performance & schema free. MongoDB is being used successfully by organizations of all sizes, including many of the world's leading brands. 10gen commercial customers number over 600 and include Disney, EA, Forbes, Intuit, LexisNexis, Shutterfly and Viber. ((10gen.com, 2000)
Memcached: Distributed memory caching system, which is responsible for caching data in RAM to reduce read operation to external system (usually database). The system is used by sites including YouTube, Reddit, Zynga, Facebook, Twitter and Wikipedia.
Tornado: Scalable non blocking web server which can handle simultaneous concurrent connection. In Magicsoft Framework, it acts as backend web server. The system is used and acquired by Facebook.
Nginx: Reverse proxy server (front end server) which can distribute load from incoming requests to several backend servers. Nginx can handle high concurrency with low memory usage. The web sites that run on NGINX includes Groupon, LivingSocial, Playdom, Zappos, Hulu, TechCrunch, Dropbox, Yandex, WordPress and many others.
CDN: System containing copies of data, placed at various places in network to maximize the bandwidth for access to the data from clients through the network.
REST API: An approach for distributed architecture, which defines how server resources are represented.
Website: A set of related web pages containing resources, incl. text, video, music, audio, images etc.A website is hosted on at least one web server, accessible via a network such as the Internet or a private local area network through an Internet address known as a Uniform Resource Locator.
Sharding: A horizontal partition of database among multiple machines in order preserving manner.
Mongod: Primary MongoDb worker process that runs on an individual server.
SPA: Single-page application also known as single-page interface (SPI), is a web application or web site that fits on a single web page with the goal of providing a more fluid user experience akin to a desktop application.
Push Notification: Push, or server push, describes a style of Internet-based communication where the request for a given transaction is initiated by the publisher or central server. It is contrasted with pull, where the request for the transmission of information is initiated by the receiver or client.
We tried to learn from successfully of real-world business application around the word. Take a small thing from there; we hope that the approach can much get scalability, reliability, maintainability and security. The technology used in YouTube.com and Google has inspired us to use Python as our Programming Language for this project.