System alerts “fail to create request, duplicate request” Process: Request to add project Table : Process Description : request to add project Identifier UC-7: RequestToAddProject Purpose Request to add project Requirements WC_4449 Development None Pre-conditions Collaborator to the system Post-conditions System creates add project request and send notify email to admin and collaborator Table: Typical Course of Action: request to add project - success Seq# Actor’s Action System’s Response 1 Collaborator clicks add project button 2 Show add project page and form 3 Collaborator fills add project form 4 System creates request and send notify email to admin and collaborator. Table: Typical Course of Action: request to add project – fail: already had project in system Seq# Actor’s Action System’s Response 1 Collaborator clicks add project button 2 Show add project page and form
Matrix Entity Describe and store matrix information StatisticalResult Entity Describe and store statistical data ProjectManager Entity Use for project management. StatisticManager Utility Use for statistical data management such as insert or update statistical data PermissionManager Utility Use for manage user permission UserManager Utility Use for manage user of the system RequestManager Utility Use for manage request that user submit Process Realization Figure 11: Sequence Diagram, Add a Project Figure 12: Sequence Diagram, Add a Collaborator Figure 13: Sequence Diagram, View Statistical Data
Figure 18: Robustness Diagram, Login and Project Statistics Use Cases Figure 19: Robustness Diagram, Add New Collaborator and Approve Add new Project Contributor Use Cases <<Process Realization Diagram>> Figure 20: Process Realization Diagram Design Rationale There is still more API needed to talk about, and the major one is the API to fetch and receive the analyzed project from the other Software for analyzing software progress based on various metrics. The purpose of the above deign were to make it better understand what is used in the overall design and architecture of the system, what more components should be considered, in what level of abstraction the components are working and how they have communication and interaction with each other.
REST Using React and Express Js Axios Library, the flow of data is always one-way (Redux Concept), also there is no state kept on transition between back-end and front-end, i.e. using Axios library, easy to send HTTP request to REST endpoints ●REST, the abbreviation of Representational State Transfer, having multiple principles to separation of the client and server side, visibility, reliability, scalability. Most important principles are the stateless, Uniformed Interface, and Layered System that we are using here. [ 2017/11/27] ●REST Architecture is independent of the type of platforms and languages. work with HTML, XML, JSON; In this project, we were working with JSON) Express JS is a web application framework for Node.js, released as free and software under the MIT License. It is designed for building web applications and APIs. provides a thin layer of fundamental web application features, without obscuring Node.js features. provides robust set of features for web and mobile applications. ReactJS React JS Software Pattern: A JS Library for building fast, simple, and scalable to create Web App Declarative Structure: Expressing logic of the program without describing the control workflow With this structure, react code is more predictable, easier to debug.