IS480 Team wiki: 2017T1 Codezilla Final Wiki
Contents
Project Progress Summary
Final Slides: To be included
Project Video: Video Link
Deployed Site Link: http://impactlaunch.space
To learn more about our Project: Project Description Link
Project Highlights
Project Management
Project Schedule
To view all versions of the Project Schedule: Project Schedule Link
Planned Schedule:
Actual Schedule:
Iteration | Planned | Actual | Comments |
---|---|---|---|
12, 13 | 11 November 2017, sprint 13 | 28th October 2017, sprint 12 | UAT 3 shifted from sprint 13 to sprint 12 |
13, 14 | Sprint 12: complete communications module. Sprint 13: complete analytics module | Sprint 12: complete analytics module. Sprint 13: complete communications module | Switched the order of modules |
14, 15 | 4th December 2017, sprint 15 | 27th November 2017, sprint 14 | Shortened from 15 sprints to 14 sprints in total |
Project Scope
Module | Status | Confidence Level (0-1) | Comments |
---|---|---|---|
Account Modules (1 and 2) | 100% | 1 | NIL |
Project Module | 100% | 1 | NIL |
Resource Module | 100% | 1 | There were improvements that had to be made with regards to understanding what a resource was and the design during UAT1 |
Search Modules (Project and Resource) | 100% | 1 | NIL |
Project Request Module | 100% | 1 | NIL |
Resource Request Module | 100% | 1 | NIL |
Project Management Modules (1 and 2) | 100% | 1 | Tested in UAT2 in Sprint 11 and there are comments to improve it |
Administration Module | 100% | 1 | NIL |
Project Matching Module | 100% | 1 | NIL |
Feedback and Ratings Module | 100% | 1 | NIL |
Communications Module | 100% | 1 | NIL |
Analytics Module | 100% | 1 | NIL |
Project Metrics
To view more details about the metrics used: Project Metrics Link
Technical Complexity
1.Project Matching: In order to be able to to meet the clients needs and to maximize the user's experience, we have a project matching module. This is where users will receive notifications about the best matched created projects.
We used a Matching Algorithm in order to carry out our project recommendations. This is done through:
- Similarity to the specified user
- Location of the user or Geofencing
Our team made use of the One Signal Platform in order to send out the notifications through Firebase Cloud Messaging and Swift apns. Subscriptions are listened to at the login page and upon each login. The code below initialises the notification subscription. On each subscription change, there is a post call to the DB to store a unique device:ID for each subscriber.
If it is a new subscriber, this logs the user’s latest geo-position in terms of longitude and latitude. However, if the user is being unsubscribed, the user’s particular device:ID is being removed to prevent overhead.
If its a existing subscriber, upon future logins, it updates the DB of the user’s last co-cordinates.
Below are screenshots of notifications being pushed out:
Below is a scoring algorithm on a small dataset to match the project to similar users.
We obtain candidate users based on their similarities in several categories. Scores are being calculated for for candidates in specific category:
- Country
- Project Area/ Cause
- Resource Category
Similarity multipliers help to establish greater scores The logic lies in the fact that: multiple similarities in one category > similarities in separate categories
- For similarities across 2 categories, for example Country and Project Area/Cause, we make use of the ACROSS_SIMILARITY_MULTIPLIER
- For similarities within a category, we make use of the WITHIN_SIMILARITY_MULTIPLIER
We get the latitude and longitude of user upon project creation. After which we obtain users in closest proximity based on defined range (Square perimeter). Lastly, we obtain device:IDs of each user in proximity
As for quality attributes, in terms of security we made use of Spring Security, that includes BCrypt and Variable SALT Authentication, making our application not vulnerable against SQL injections.
In term of performance, our application makes use of many file upload functions that result in the performance slowing after a period of time. As such, in order to ensure that we run at a high performance, our team makes sure that we close all connections and closable stream. We also compress all uploaded images (imgscalr) and remove all the unnecessary pulling of files to store on the local server.
2. Project Management Space: The project management space has many features such as a task board (kanban board), chat function, document upload system, user management system, calendar function and activity log that are layered together that make this module complex.
Project Risks
Quality of Product
Project Deliverables
Area of Interest | Link |
---|---|
Project Management | Minutes |
Changes | |
Risks | |
Schedule | |
Metrics | |
Requirements | Scope |
Overview | |
Analysis | Use Case |
Architectural Diagram | |
Design | Prototypes |
Testing | User Testing Link |
Quality
Deployment
Learn more about our application and explore the projects and resources that we have to offer by clicking on the link provided below. Feel inspired to pledge a resource or jumpstart your very own social impact project and make a difference.
Deployed Site Link: http://impactlaunch.space
Internal Testing
User Testing
- We have completed a total of 3 UATs.
- To learn more about the UATs: User Testing Link
Below are the details for UAT 3:
Venue: SMU SIS SR 2-2
Date: 28 October 2017
Time: 7:00PM
Duration: About 30 minutes per user
Number of Participants: 16
Objectives:
- To look at the feedback with regards to our User Interface for the admin, analytics, project matching and project management module
- To understand any usability problems for the admin, analytics, project matching and project management module and observing their behavior
- To improve the ease of using the admin, analytics, project matching and project management module in our web application
Scope:
- Project Management Module 1 and 2
- Project Matching Module
- Analytics Module
- Administrative Module
Reflections
Team Reflection
Individual Reflections
Sponsor Comments