HeaderSIS.jpg

Team Galaxy's Project

From IS480
Jump to navigation Jump to search


Osmosis

OsmosisLogo.png

Goal of Osmosis


To make a better learning environment for the SIS community

Motivation for Osmosis


Problems faced by all SIS community on the preparation phrase of FYP

Target Audience

Smu sis.jpg
&
Clients who are interest to innovate and research on IT projects with us


Technology


Technology Involved


OsmosisTech4.jpg AngularJS.jpg Ttbootstrap.jpg OsmosisTech1.gif PivotalTrackerLogo.png OsmosisTech2.png
JavaScript AngularJS (Javascript Framework) Twitter Bootstrap Python (Django Framework) Pivotal Tracker (Project Management-Scheduling Tools) Google-App-Engine (Cloud-Database hosting)


Angularjs:
AngularJS is an open-source JavaScript framework that stresses user-centric design on web application where usability and accessibility of technology is achieved through intuitive interfaces that run on a single page. Its goal is to augment browser-based applications with model–view–controller (MVC) capability, in an effort to make both development and testing easier. By using dependency injection, Angular brings traditional server-side services, such as view-dependent controllers, to client-side web applications. Consequently, much of the burden on the backend is reduced, leading to lesser resources used by the server and better responsiveness of the application for the user.

Benefits to Great Eastern
Great Eastern can make use of AngularJS to create web application that is responsive and intuitive which enhances the user experience when using the web application. This framework also reduces the network resources used when accessing back-end operations which result in significant cost savings for Great Eastern for future web application deployment.


Google App Engine:
Google App Engine is a Platform as a Service (PaaS) cloud computing platform created by Google for developing and hosting web application in Google-Managed data centers. This allows developers to focus on the front-end development of a web application, and saves on the Total Cost of Ownership cost needed to maintain a traditional backend server. Developers are only required to pay on the basis of usage and are not required to purchase relevant system, software and tools needed to build, run and deploy the application.

Benefits to Great Eastern
For Great Eastern, this would mean significant cost savings on the total cost of ownership and changes the cost structure from Capital Expense to Operational Expense. The PaaS model also feature scalability and elasticity to Great Eastern as it provide the same efficiency irrespective of load and usage. Lastly, PaaS provide end-to-end service required to support the complete life cycle of building and delivering web application.

Twitter BootStrap
Twitter Bootstrap is a free collection of tools for creating responsive web applications. It contains an comprehensive range of HTML and CSS-based design templates for forms, buttons and JavaScript which may be used by developers to design elegant and durable front-end design pattern that is scalable and maintained. Bootstrap also supports responsive design for web pages as it adjusts dynamically by taking into account the characteristics of the device used (PC, Tablet, mobile phone)

Benefits to Great Eastern
Great Eastern may use this sleek, intuitive and powerful front-end framework for quick prototyping or guiding the execution of sophisticated designs and larger engineering efforts. This is because while it provides a set of wide extensive tools, it is flexible enough to work for many unique design needs. Furthermore, as future users of Great Eastern’s web application is more likely to access the applications through various devices (PC, Tablet, mobile phone), twitter bootstrap responsive design would allow websites to be automatically sized without any extra effort to adapt it for various devices.


Technical Complexity


Google App Engine Datastore
  • GAE Datastore uses GQL, although similar syntax as SQL, but limited features.
  • Need to combine several GQL to get the desired results
  • How information should be stored
Angularjs
  • The interaction between Angularjs and Google App Engine
  • How data should be presented and updated, in combination with jQuery, Twitter Bootstrap
Match making algorithm

Total Count of Matched Technologies of all members / (No. of team members x no. of skills required for the project)

Pseudo Code:
For every project available:
for every member in team (if there is):
do a count for that particular technology that matches
Formulate the Weightage Point
Do a QuickSort to sort project in descending order based on the Weightage Point.





Use Case


Student and Client


We will have to develop a total of
29
use cases.


UseCaseDiagram1.png


Use Case Client Student Description
Log in using Google Account The student is able to log in with the school's google account to use the application.

The client is able to log in with google account to use the application.

Edit Profile Both clients and students are able to edit profile information.
Create Project The client is able to fill in the project form to create a project.
Edit Project The client is able to edit his/her project that has been created previously by clicking on the "Edit" button located at the bottom of the project details.
Copy Project The client is able to copy his/her project that has been created previously by clicking on the "Copy" button located at the bottom of the project details. The previous created project will be copied to the create project form.
Delete Project The client is able to delete his/her project that has been created previously by clicking on the "Delete" button located at the bottom of the project details. The deleted project will be removed from the project list.
Reset Project The client is able to delete all information from the Create Project form easily by clicking on the "Reset" button located at the bottom of the form.
Generate Sample Project The client is able to generate sample project from the database by clicking on the "Generate Sample Project" button, located at the top of the Create Project form. Random projects in the database will be displayed in the form. Client is able to use the sample information to edit to their project.
View IS480 Information By clicking on the "SMU-SIS" tab, the client is able to view the necessary information of IS480, including on the next semester's important dates.
View statistics of form fields The client is able to see the statistics of important form fields, so as to know which field is more important to students to make decision to take up the project.
Upload media The client is able to upload pictures and videos to add more information to the project details.
Create Team The student is able to create a new team if he/she does not belong to a team in the application. The creating person will be the leader of the team.
Delete Team The leader of the team (the one who created the team) is able to delete the team. All members will be removed from the team. An email will be sent to all the students to inform about the removal of team.
Edit Team The leader of the team (the one who created the team) is able to edit the information of the team profile.
Leave Team The student is able to leave a team. An email will be sent to the leader of the team when a student leaves the team.
Request to Join Team The student is able to sent a request to join a team. An email will be sent to the requesting student.
Invite Student to Join Team The student is able to sent a invite a student who does not have a team to join his/her team. An email will be sent to the inviting student.
Accept Invitation to Join Team The student is able to accept the invitation that is sent to him/her to join a team. Team will be created in the invited student's team profile and name of the invited student will appear in the team.
Reject Request to Join Team The student is able to reject the request that is sent to him/her to join a team. An email about the rejection will be sent to requesting leader of the team.
Expel Team The leader of the team (the one who created the team) is able to remove any members in the team. An email will be sent to the expelled student.
Email Client The student is able to click on the email link to send a mail to the client of the project.
Comment a Project Both client and student are able to send a comment to project.
View Comment Both the client and students are able to see the comment to project.
Delete Comment Both the client and student are able to delete comment created by him/her.
Match-make Team to Projects Both client and student are able to search a project in the project library.
Search Project Both client and student are able to search a project in the project library.
View Project Both client and student are able to view projects available in the application in the project library.
Search Teams Both client and student are able to search a team in the team library.
View Teams Both client and student are able to search a project in the project library.



User Interface Prototype


Client Webpages

Osmosis0.jpg Osmosis1.jpg Osmosis2.jpg
Osmosis3.jpg Osmosis4.jpg Osmosis5.jpg
Osmosis6.jpg Osmosis7.jpg

Student Webpages

Osmosis0.jpg Osmosis Student1.jpg Osmosis Student2.jpg
Osmosis Student3.jpg Osmosis Student4.jpg Osmosis Student5.jpg
Osmosis Student6.jpg Osmosis Student7.jpg Osmosis Student8.jpg
Osmosis Student9.jpg Osmosis Student10.jpg

Project and Team Library Webpages

Project Library Team Library
Osmosis Project1.jpg Osmosis Project2.jpg
Osmosis Team1.jpg Osmosis Team2.jpg