NodeJS代写:CSC309 Synergy Space

Introduction

这次仍然是对之前做的Sharing Economy System进行改进,满足下面列出的新需求。

Overview

SynergySpace is a coworking space rental and teaming to succeed service. Coworking is a style of work that involves a shared working environment, often an office, and independent activity. Unlike in a typical office environment, those coworking are usually not employed by the same organization. Typically it is attractive to work-at-home professionals, independent contractors, or people who travel frequently who end up working in relative isolation. Coworking is also the social gathering of a group of people who are still working independently, but who share values, and who are interested in the synergy that can happen from working with people who value working in the same place alongside each other. Coworking is an example of a sharing economy paradigm, a socio-economic system built around the sharing of human and physical resources.

How it Works

SynergySpace is an online service where individuals that own a space (from now on, the “Owner”) connect with individuals that are looking for temporary working space (from know on, the “Tenant”). Owners, register on the system and list the space they would like to rent. Tenants, register on the system and search for space to rent. Owners provide information about the space and Tenants provide information about themselves. After a space is found, an arrangement is made that includes information about the details of the lease. Once the Tenant physically joins a shared space she is automatically joining a social network that allows her to explore information about other Tenants currently in the shared space. The social network can then be seen as an enabler of interacting with other people with similar interests. Eventually Tenants have the chance to meet potential collaborators and build up a team to work on a project towards synergies. Currently, there are online coworking services where an individual can rent a space and there are online services that can enable finding partners to work on a project. However, these services are not integrated well and are not enabled through physically sharing a space at real-time. A service that enables this interaction would be highly desirable as it would give extra flexibility on finding a working space, and at the same time would enable more meaningful synergies between interested individuals.

Challenges for SynergySpace

Freelance professionals can struggle to find affordable working space in a city they reside or are visiting. At the same time, space owners are looking for alternative ways to lease their space. Another concern for individuals is that they are typically looking for new opportunities to join a team and collaborate on a project. While it is easy to find collaborators online, many individuals would prefer to work with professionals that they can physically interact. Another problem for coworking is the reliability of the informal arrangements made between the parties involved. Several internet schemes are trying to address these concerns by introducing reputation systems, enabling more informed decisions to be made about reliable and unreliable professionals.

Your Project

Your team is in charge of designing and developing a fully functional web application for supporting the rental of coworking space and the teaming of professionals online. Here is a list of components that your system should support:

  1. User Authentication : Authentication is the process of verifying who a person is. There are a number of methods for doing this, but the most common process is a two way matching process between a public identifier (i.e. a user name or userid) and a private identifier (i.e. a password). On the internet, this is the most common and convenient mechanism.
  2. User Profiling : Each user in your system has a profile. A user profile is a collection of personal data associated to a specific user and it may include information about her identity, her reputation, the space she is interested to list for lease or is interested to rent, the professional skills and projects she is interested in, etc.
  3. User Interactions : A user can act either as Owner or a Tenant. As an Owner she can list a new space for lease, arrange the lease agreement, rate individuals that have leased the space. As a Tenant she can navigate through the available rental spaces, express interest to lease a space, rate a space.
  4. Implicit Social Networking : Your system should be the basis for an implicit social network. In this social network users that are sharing the same space at the same time are automatically considered ‘friends’.
  5. Reputation System : Your system will resemble a reputation system that computes and publishes reputation scores for both (i) coworking spaces and (ii) Tenants registered on the system. The reputation score of a coworking space is based on ratings that Tenants provide about how satisfied they were with the space (and the details of the arrangement). The reputation score of a Tenant is based on ratings that Tenants provide about other Tenants in their social network, based on their chance to interact or collaborate with them. Ratings are typically passed using a simple rating system (like/dislike, star system, 1-10 grade, etc.). Reputation scores are representing a collection of Tenants’ opinion and can be used by the system to provide recommendations about which working space to lease and which people to collaborate with once you are there.
  6. Administrative View : Your system should support an administrative view of the system. Administrators can set global variables used in the system, such as, the type of space that can be leased and can see aggregate information about the system’s performance, such as, total number of teams built up, or average distance that users had to travel to find a coworking space, and other useful analytics.