type string true Type of the GeoJSON Object.
+
✕
MongoDB Physical Model Schema for: Model name: FightPandemics
Author: NÃcolas de Araujo
Version: 3
File name: data_model.json
File path: U:\home\naraujo\Dev\FightPandemics\DataModel\v3\data_model.json
Printed On: Mon Sep 07 2020 22:12:49 GMT-0300 (Horário Padrão de BrasÃlia)
Created with:
Hackolade - Visual data modeling for NoSQL and multimodel databases
Property Value Model name FightPandemics Technical name FightPandemics Description
Author NÃcolas de Araujo Version 3 DB vendor MongoDB DB version v4.2 Comments
1.1.3.1 Field location Parent field: Definitions
Child field(s):
Field Type Req Key Description Comments coordinates array true Array with the coordinates, specifying longitude first and latitude second , as default in the GeoJSON definition.
+
type string true Type of the GeoJSON Object.
Please refer to the official documentation for more information.
In our case, the value will always be of the type "Point".
-
country string false String holding the country's name.
-
city string false String holding the city's name.
-
neighborhood string false String holding the neighborhood's name.
-
address string false String holding the address (street, number and other details).
+
country string false String holding the country's name.
+
city string false String holding the city's name.
+
neighborhood string false String holding the neighborhood's name.
+
address string false String holding the address (street, number and other details).
Property Value Name location Technical name Id Type document Description Location document according to the norms of a GeoJSON Object .
The fields address, neighborhood, city, state and country are added to store the result of the geoprocessing.
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type DBRef Min Properties Max Properties Additional properties false Comments
1.1.3.2 Field coordinates Parent field: location
Child field(s):
Field Type Req Key Description Comments [0] numeric false
[1] numeric false Dependencies Required false Primary key false Foreign collection Foreign field Relationship type DBRef Min Properties Max Properties Additional properties false Comments
1.1.3.2 Field coordinates Parent field: location
Child field(s):
Field Type Req Key Description Comments [0] numeric false
[1] numeric false
Property Value Name coordinates Technical name Id Type array Description Array with the coordinates, specifying longitude first and latitude second , as default in the GeoJSON definition.
-
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Min items 2 Max items 2 Unique items false Additional items true Comments
1.1.3.3 Field [0] Property Value Id lng Type numeric Subtype Description Dependencies Primary key false Foreign collection Foreign field Relationship type Default 0 Unit degrees Min value -180 Excl min false Max value 180 Excl max false Multiple of Divisible by Enum Sample 35.26 Comments
1.1.3.4 Field [1] Property Value Id lat Type numeric Subtype Description Dependencies Primary key false Foreign collection Foreign field Relationship type Default 0 Unit degrees Min value -90 Excl min false Max value 90 Excl max false Multiple of Divisible by Enum Sample -32.83 Comments
1.1.3.5 Field type Property Value Name type Technical name Id Type string Description Type of the GeoJSON Object.
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Min items 2 Max items 2 Unique items false Additional items true Comments
1.1.3.3 Field [0] Property Value Display name Id lng Type numeric Subtype Description Dependencies Primary key false Foreign collection Foreign field Relationship type Default 0 Unit degrees Min value -180 Excl min false Max value 180 Excl max false Multiple of Divisible by Enum Sample 35.26 Comments
1.1.3.4 Field [1] Property Value Display name Id lat Type numeric Subtype Description Dependencies Primary key false Foreign collection Foreign field Relationship type Default 0 Unit degrees Min value -90 Excl min false Max value 90 Excl max false Multiple of Divisible by Enum Sample -32.83 Comments
1.1.3.5 Field type Property Value Name type Technical name Id Type string Description Type of the GeoJSON Object.
Please refer to the official documentation for more information.
In our case, the value will always be of the type "Point".
-
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Point Sample Comments
1.1.3.6 Field country Property Value Name country Technical name Id Type string Description String holding the country's name.
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
1.1.3.7 Field city Property Value Name city Technical name Id Type string Description String holding the city's name.
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
1.1.3.8 Field neighborhood Property Value Name neighborhood Technical name Id Type string Description String holding the neighborhood's name.
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
1.1.3.9 Field address Property Value Name address Technical name Id Type string Description String holding the address (street, number and other details).
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
1.1.3.10 Field author Parent field:
Child field(s):
Field Type Req Key Description Comments id objectId true fk Foreign key to the user who created the post.
-
name string true
type string true
location reference true
Property Value Name author Technical name Id Type document Description
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type DBRef Min Properties Max Properties Additional properties false Comments
1.1.3.11 Field id Property Value Name id Technical name Id Type objectId Description Foreign key to the user who created the post.
-
Dependencies Required true Primary key false Foreign collection users Foreign field _id Relationship type Foreign Key Default Sample Comments
1.1.3.12 Field name Property Value Name name Technical name Id Type string Description
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
1.1.3.13 Field type Property Value Name type Technical name Id Type string Description
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
1.1.3.14 Field location Property Value Name location $ref #model/definitions/location Reference type model
2.1 Database applicationDB Property Value Database name applicationDB Technical name Enable sharding Description
Comments
2.1.2.1 Collection comments Property Value Collection name comments Technical name Id Description
Database applicationDB Capped false Size Max Storage engine WiredTiger Config String Validation level Off Validation action Warn Additional properties false Comments
Field Type Req Key Description Comments _id objectId true Automatically generated object_id as primary key.
-
createdAt date true Timestamp with the comment's creation date
-
updatedAt date true Timestamp with the comment's last update date
-
author document true
id objectId true Foreign key to the user who created the post.
-
name string true
type string true
location document true Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Point Sample Comments
1.1.3.6 Field country Property Value Name country Technical name Id Type string Description String holding the country's name.
+
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
1.1.3.7 Field city Property Value Name city Technical name Id Type string Description String holding the city's name.
+
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
1.1.3.8 Field neighborhood Property Value Name neighborhood Technical name Id Type string Description String holding the neighborhood's name.
+
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
1.1.3.9 Field address Property Value Name address Technical name Id Type string Description String holding the address (street, number and other details).
+
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
1.1.3.10 Field author Parent field: Definitions
Child field(s):
Field Type Req Key Description Comments id objectId true fk Foreign key to the user who created the post.
+
name string true
type string true
location reference true
Property Value Name author Technical name Id Type document Description
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type DBRef Min Properties Max Properties Additional properties false Comments
1.1.3.11 Field id Property Value Name id Technical name Id Type objectId Description Foreign key to the user who created the post.
+
Dependencies Required true Primary key false Foreign collection users Foreign field _id Relationship type Foreign Key Default Sample Comments
1.1.3.12 Field name Property Value Name name Technical name Id Type string Description
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
1.1.3.13 Field type Property Value Name type Technical name Id Type string Description
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
1.1.3.14 Field location Property Value Name location Technical name $ref #model/definitions/location Reference type model Reference description
1.1.3.15 Field postRef Parent field: Definitions
Child field(s):
Field Type Req Key Description Comments id objectId true
objective string true Field to indicate the post's objective.
+Currently only two values allowed: "offering help" and "looking for help".
+
title string true
content string true String for the post content.
+
author reference true
Property Value Name postRef Technical name Id Type document Description Optional post reference, allowing a post to be referenced in a message thread.
+
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type DBRef Min Properties Max Properties Additional properties false Comments
1.1.3.16 Field id Property Value Name id Technical name Id Type objectId Description
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Sample Comments
1.1.3.17 Field objective Property Value Name objective Technical name Id Type string Description Field to indicate the post's objective.
+Currently only two values allowed: "offering help" and "looking for help".
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum request,offer Sample offer Comments
1.1.3.18 Field title Property Value Name title Technical name Id Type string Description Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
1.1.3.19 Field content Property Value Name content Technical name Id Type string Description String for the post content.
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
1.1.3.20 Field author Property Value Name author Technical name $ref #model/definitions/author Reference type model Reference description
2.1 Database applicationDB Property Value Database name applicationDB Technical name Enable sharding Description
Comments
2.1.2.1 Collection comments Property Value Collection name comments Technical name Id Description
Database applicationDB Capped false Size Max Storage engine WiredTiger Config String Validation level Off Validation action Warn Additional properties false Comments
Field Type Req Key Description Comments _id objectId true Automatically generated object_id as primary key.
+
createdAt date true Timestamp with the comment's creation date
+
updatedAt date true Timestamp with the comment's last update date
+
author document true
id objectId true Foreign key to the user who created the post.
+
name string true
type string true
location document true Location document according to the norms of a GeoJSON Object .
The fields address, neighborhood, city, state and country are added to store the result of the geoprocessing.
-
coordinates array true Array with the coordinates, specifying longitude first and latitude second , as default in the GeoJSON definition.
-
[0] numeric false
[1] numeric false
type string true Type of the GeoJSON Object.
+
coordinates array true Array with the coordinates, specifying longitude first and latitude second , as default in the GeoJSON definition.
+
[0] numeric false
[1] numeric false
type string true Type of the GeoJSON Object.
Please refer to the official documentation for more information.
In our case, the value will always be of the type "Point".
-
country string false String holding the country's name.
-
city string false String holding the city's name.
-
neighborhood string false String holding the neighborhood's name.
-
address string false String holding the address (street, number and other details).
-
postId objectId true
parentId objectId false If the comment is nested (in another comment), this field will hold the _id of the parent comment. Optional field, where being blank means it is a root comment.
-
content string true Stirng holding the comment's content.
-
likes array false Array holding the user_id of all the users who liked the comment.
-
[0] objectId false _id of the user who liked the comment
-
2.1.2.1.3.1 Field _id Property Value Name _id Technical name Id Type objectId Description Automatically generated object_id as primary key.
-
Dependencies Required true Primary key true Foreign collection Foreign field Relationship type Default Sample Comments
2.1.2.1.3.2 Field createdAt Property Value Name createdAt Technical name Id Type date Description Timestamp with the comment's creation date
-
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Sample Comments
2.1.2.1.3.3 Field updatedAt Property Value Name updatedAt Technical name Id Type date Description Timestamp with the comment's last update date
-
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Sample Comments
2.1.2.1.3.4 Field author Property Value Name author $ref #model/definitions/author Reference type model
2.1.2.1.3.5 Field postId Property Value Name postId Technical name Id Type objectId Description
Dependencies Required true Primary key false Foreign collection posts Foreign field Relationship type Default Sample Comments
2.1.2.1.3.6 Field parentId Property Value Name parentId Technical name Id Type objectId Description If the comment is nested (in another comment), this field will hold the _id of the parent comment. Optional field, where being blank means it is a root comment.
-
Dependencies Required false Primary key false Foreign collection comments Foreign field _id Relationship type Foreign Key Default Sample Comments
2.1.2.1.3.7 Field content Property Value Name content Technical name Id Type string Description Stirng holding the comment's content.
-
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.1.3.8 Field likes Parent field: author
Child field(s):
Field Type Req Key Description Comments [0] objectId false fk _id of the user who liked the comment
+
country string false String holding the country's name.
+
city string false String holding the city's name.
+
neighborhood string false String holding the neighborhood's name.
+
address string false String holding the address (street, number and other details).
+
postId objectId true
parentId objectId false If the comment is nested (in another comment), this field will hold the _id of the parent comment. Optional field, where being blank means it is a root comment.
+
content string true Stirng holding the comment's content.
+
likes array false Array holding the user_id of all the users who liked the comment.
+
[0] objectId false _id of the user who liked the comment
+
2.1.2.1.3.1 Field _id Property Value Name _id Technical name Id Type objectId Description Automatically generated object_id as primary key.
+
Dependencies Required true Primary key true Foreign collection Foreign field Relationship type Default Sample Comments
2.1.2.1.3.2 Field createdAt Property Value Name createdAt Technical name Id Type date Description Timestamp with the comment's creation date
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Sample Comments
2.1.2.1.3.3 Field updatedAt Property Value Name updatedAt Technical name Id Type date Description Timestamp with the comment's last update date
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Sample Comments
2.1.2.1.3.4 Field author Property Value Name author Technical name $ref #model/definitions/author Reference type model Reference description
2.1.2.1.3.5 Field postId Property Value Name postId Technical name Id Type objectId Description
Dependencies Required true Primary key false Foreign collection posts Foreign field Relationship type Default Sample Comments
2.1.2.1.3.6 Field parentId Property Value Name parentId Technical name Id Type objectId Description If the comment is nested (in another comment), this field will hold the _id of the parent comment. Optional field, where being blank means it is a root comment.
+
Dependencies Required false Primary key false Foreign collection comments Foreign field _id Relationship type Foreign Key Default Sample Comments
2.1.2.1.3.7 Field content Property Value Name content Technical name Id Type string Description Stirng holding the comment's content.
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.1.3.8 Field likes Parent field: comments
Child field(s):
Field Type Req Key Description Comments [0] objectId false fk _id of the user who liked the comment
Property Value Name likes Technical name Id Type array Description Array holding the user_id of all the users who liked the comment.
-
Dependencies Required false Primary key false Foreign collection users Foreign field _id Relationship type Foreign Key Min items Max items Unique items true Additional items true Comments
2.1.2.1.3.9 Field coordinates Property Value Id Type objectId Description _id of the user who liked the comment
+
Dependencies Required false Primary key false Foreign collection users Foreign field _id Relationship type Foreign Key Min items Max items Unique items true Additional items true Comments
2.1.2.1.3.9 Field [0] Property Value Display name Id Type objectId Description _id of the user who liked the comment
Dependencies Primary key false Foreign collection Foreign field Relationship type Foreign Key Default Sample Comments
Property New Index Name New Index Key createdAt('ascending'), parentId('ascending'), postId('ascending') Hashed Unique Drop duplicates Sparse Background indexing Partial filter exp Expire after (seconds) Storage engine WiredTiger Comments
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
@@ -324,29 +324,29 @@
{
"name": "New Index"
}
-);
2.1.2.2 Collection feedbacks Property Value Collection name feedbacks Technical name Id Description Collection to hold feedback on the application.
+);
2.1.2.2 Collection feedbacks Property Value Collection name feedbacks Technical name Id Description Collection to hold feedback on the application.
This may be done with the user logged or not and, depending on that, we may or may not have a reference to the user in question at this model.
-
Database applicationDB Capped false Size Max Storage engine WiredTiger Config String Validation level Off Validation action Warn Additional properties false Comments
Field Type Req Key Description Comments _id objectId true Automatically generated object_id as primary key.
-
createdAt date true Timestamp with the feedback's creation date
-
updatedAt date true Timestamp with the feedback's last update date
-
rating numeric true A rating, in a scale of 1 to 5, of the application.
+
Database applicationDB Capped false Size Max Storage engine WiredTiger Config String Validation level Off Validation action Warn Additional properties false Comments
Field Type Req Key Description Comments _id objectId true Automatically generated object_id as primary key.
+
createdAt date true Timestamp with the feedback's creation date
+
updatedAt date true Timestamp with the feedback's last update date
+
rating numeric true A rating, in a scale of 1 to 5, of the application.
Currently present as: "How well does FIghtPandemics meet your needs?".
Present in the first part of the feedback and, therefore, is required.
-
ipAddress ipv4 true Caputred IP address in order to get user's location even if they are not logged.
+
ipAddress ipv4 true Caputred IP address in order to get user's location even if they are not logged.
Captured at the first part of the feedback and, therefore, is required.
-
age integer64 false
age integer64 false User's age.
Currently present as: "What is your age?".
Present in the third part of the feedback and, therefore, not required.
-
mostValuableFeature string false User's feedback into what is the features most valuable for him/her.
+
mostValuableFeature string false User's feedback into what is the features most valuable for him/her.
Currently present as: "Which features are the most valuable for you?".
Present in the second part of the feedback and, therefore, not required.
-
whatWouldChange string false User's feedback into what he/she would change about the application.
+
whatWouldChange string false User's feedback into what he/she would change about the application.
Currently present as: "If you could change one thing about FightPandemics, what would it be?".
Present in the second part of the feedback and, therefore, not required.
-
generalFeedback string false User's general feedback section.
+
generalFeedback string false User's general feedback section.
Currently present as: "Any other feedback for us?".
Present in the second part of the feedback and, therefore, not required.
-
covidImpact string false User's feedback into how the COVID impacted him.
+
covidImpact string false User's feedback into how the COVID impacted him.
Currently present as a multiple choice question.
Question: "How has COVID-19 impacted you?"
Options:
@@ -357,41 +357,41 @@
I am diagnosed with COVID-19
Present in the second part of the feedback and, therefore, not required.
-
userId objectId false Reference to the user's _id.
+
userId objectId false Reference to the user's _id.
This will be present only if the user was logged in when completing the feedback.
-
location document false
location document false Location document according to the norms of a GeoJSON Object .
The fields address, neighborhood, city, state and country are added to store the result of the geoprocessing.
-
coordinates array true Array with the coordinates, specifying longitude first and latitude second , as default in the GeoJSON definition.
-
[0] numeric false
[1] numeric false
type string true Type of the GeoJSON Object.
+
coordinates array true Array with the coordinates, specifying longitude first and latitude second , as default in the GeoJSON definition.
+
[0] numeric false
[1] numeric false
type string true Type of the GeoJSON Object.
Please refer to the official documentation for more information.
In our case, the value will always be of the type "Point".
-
country string false String holding the country's name.
-
city string false String holding the city's name.
-
neighborhood string false String holding the neighborhood's name.
-
address string false String holding the address (street, number and other details).
-
2.1.2.2.3.1 Field createdAt Property Value Name createdAt Technical name Id Type date Description Timestamp with the feedback's creation date
-
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Sample Comments
2.1.2.2.3.2 Field _id Property Value Name _id Technical name Id Type objectId Description Automatically generated object_id as primary key.
-
Dependencies Required true Primary key true Foreign collection Foreign field Relationship type Default Sample Comments
2.1.2.2.3.3 Field updatedAt Property Value Name updatedAt Technical name Id Type date Description Timestamp with the feedback's last update date
-
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Sample Comments
2.1.2.2.3.4 Field rating Property Value Name rating Technical name Id Type numeric Subtype Description A rating, in a scale of 1 to 5, of the application.
+
country string false String holding the country's name.
+
city string false String holding the city's name.
+
neighborhood string false String holding the neighborhood's name.
+
address string false String holding the address (street, number and other details).
+
2.1.2.2.3.1 Field createdAt Property Value Name createdAt Technical name Id Type date Description Timestamp with the feedback's creation date
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Sample Comments
2.1.2.2.3.2 Field _id Property Value Name _id Technical name Id Type objectId Description Automatically generated object_id as primary key.
+
Dependencies Required true Primary key true Foreign collection Foreign field Relationship type Default Sample Comments
2.1.2.2.3.3 Field updatedAt Property Value Name updatedAt Technical name Id Type date Description Timestamp with the feedback's last update date
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Sample Comments
2.1.2.2.3.4 Field rating Property Value Name rating Technical name Id Type numeric Subtype Description A rating, in a scale of 1 to 5, of the application.
Currently present as: "How well does FIghtPandemics meet your needs?".
Present in the first part of the feedback and, therefore, is required.
-
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Unit Min value 1 Excl min false Max value 5 Excl max false Multiple of Divisible by Enum Sample Comments
2.1.2.2.3.5 Field ipAddress Property Value Name ipAddress Technical name Id Type string Description Caputred IP address in order to get user's location even if they are not logged.
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Unit Min value 1 Excl min false Max value 5 Excl max false Multiple of Divisible by Enum Sample Comments
2.1.2.2.3.5 Field ipAddress Property Value Name ipAddress Technical name Id Type string Description Caputred IP address in order to get user's location even if they are not logged.
Captured at the first part of the feedback and, therefore, is required.
-
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format ipv4 Enum Sample Comments
2.1.2.2.3.6 Field age Property Value Name age Technical name Id Type numeric Subtype integer64 Description Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format ipv4 Enum Sample Comments
2.1.2.2.3.6 Field age Property Value Name age Technical name Id Type numeric Subtype integer64 Description User's age.
Currently present as: "What is your age?".
Present in the third part of the feedback and, therefore, not required.
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Unit Min value 18 Excl min false Max value Excl max false Multiple of Divisible by Enum Sample Comments
2.1.2.2.3.7 Field mostValuableFeature Property Value Name mostValuableFeature Technical name Id Type string Description User's feedback into what is the features most valuable for him/her.
+
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Unit Min value 18 Excl min false Max value Excl max false Multiple of Divisible by Enum Sample Comments
2.1.2.2.3.7 Field mostValuableFeature Property Value Name mostValuableFeature Technical name Id Type string Description User's feedback into what is the features most valuable for him/her.
Currently present as: "Which features are the most valuable for you?".
Present in the second part of the feedback and, therefore, not required.
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.2.3.8 Field whatWouldChange Property Value Name whatWouldChange Technical name Id Type string Description User's feedback into what he/she would change about the application.
+
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.2.3.8 Field whatWouldChange Property Value Name whatWouldChange Technical name Id Type string Description User's feedback into what he/she would change about the application.
Currently present as: "If you could change one thing about FightPandemics, what would it be?".
Present in the second part of the feedback and, therefore, not required.
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.2.3.9 Field generalFeedback Property Value Name generalFeedback Technical name Id Type string Description User's general feedback section.
+
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.2.3.9 Field generalFeedback Property Value Name generalFeedback Technical name Id Type string Description User's general feedback section.
Currently present as: "Any other feedback for us?".
Present in the second part of the feedback and, therefore, not required.
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.2.3.10 Field covidImpact Property Value Name covidImpact Technical name Id Type string Description User's feedback into how the COVID impacted him.
+
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.2.3.10 Field covidImpact Property Value Name covidImpact Technical name Id Type string Description User's feedback into how the COVID impacted him.
Currently present as a multiple choice question.
Question: "How has COVID-19 impacted you?"
Options:
@@ -402,9 +402,9 @@
I am diagnosed with COVID-19
Present in the second part of the feedback and, therefore, not required.
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.2.3.11 Field userId Property Value Name userId Technical name Id Type objectId Description Reference to the user's _id.
+
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.2.3.11 Field userId Property Value Name userId Technical name Id Type objectId Description Reference to the user's _id.
This will be present only if the user was logged in when completing the feedback.
-
Dependencies Required false Primary key false Foreign collection users Foreign field _id Relationship type Foreign Key Default Sample Comments
2.1.2.2.3.12 Field location Property Value Name location $ref #model/definitions/location Reference type model
Dependencies Required false Primary key false Foreign collection users Foreign field _id Relationship type Foreign Key Default Sample Comments
2.1.2.2.3.12 Field location Property Value Name location Technical name $ref #model/definitions/location Reference type model Reference description
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"title": "feedbacks",
@@ -438,7 +438,7 @@
"format": "ipv4"
},
"age": {
- "type": "long",
+ "type": "integer",
"description": "User's age.\n\nCurrently present as: \"What is your age?\".\n\nPresent in the third part of the feedback and, therefore, not required.",
"minimum": 18
},
@@ -626,60 +626,460 @@
},
"validationLevel": "off",
"validationAction": "warn"
-});
2.1.2.3 Collection posts Property Value Collection name posts Technical name Id Description Document to represent a post, asking or offering help to be displayed on the feed
-
Database applicationDB Capped false Size Max Storage engine WiredTiger Config String Validation level Off Validation action Warn Additional properties false Comments
Field Type Req Key Description Comments _id objectId true
createdAt date true Timestamp with the post's creation date
-
updatedAt date true Timestamp with the post's last update date
-
expireAt date false Timestamp with the date the post will expire.
+});
2.1.2.3 Collection messages Property Value Collection name messages Technical name Id Description Message sent in a private conversation
+
Database applicationDB Capped false Size Max Storage engine WiredTiger Config String Validation level Off Validation action Warn Additional properties false Comments
Field Type Req Key Description Comments _id objectId true ObjectId used as primary key for a message
+
createdAt date true Timestamp with message's creation date
+
updatedAt date true Timestamp with message's update date
+
content string true Messages content, containing html links and emojis
+
threadId objectId true Reference to the thread were the message was sent
+
author document true
id objectId true Foreign key to the user who created the post.
+
name string true
type string true
location document true Location document according to the norms of a GeoJSON Object .
+The fields address, neighborhood, city, state and country are added to store the result of the geoprocessing.
+
coordinates array true Array with the coordinates, specifying longitude first and latitude second , as default in the GeoJSON definition.
+
[0] numeric false
[1] numeric false
type string true Type of the GeoJSON Object.
+Please refer to the official documentation for more information.
+
In our case, the value will always be of the type "Point".
+
country string false String holding the country's name.
+
city string false String holding the city's name.
+
neighborhood string false String holding the neighborhood's name.
+
address string false String holding the address (street, number and other details).
+
status string true Curerent message status, used to define if it was edited or deleted:
+
+sent : message was sent and not edited or deleted.
+edited : message was edited by the author
+deleted : message was deleted by the author
+
+
postRef document false Optional post reference, allowing a post to be referenced in a message thread.
+
id objectId true
objective string true Field to indicate the post's objective.
+Currently only two values allowed: "offering help" and "looking for help".
+
title string true
content string true String for the post content.
+
author document true
id objectId true Foreign key to the user who created the post.
+
name string true
type string true
location document true Location document according to the norms of a GeoJSON Object .
+The fields address, neighborhood, city, state and country are added to store the result of the geoprocessing.
+
coordinates array true Array with the coordinates, specifying longitude first and latitude second , as default in the GeoJSON definition.
+
[0] numeric false
[1] numeric false
type string true Type of the GeoJSON Object.
+Please refer to the official documentation for more information.
+
In our case, the value will always be of the type "Point".
+
country string false String holding the country's name.
+
city string false String holding the city's name.
+
neighborhood string false String holding the neighborhood's name.
+
address string false String holding the address (street, number and other details).
+
2.1.2.3.3.1 Field _id Property Value Name _id Technical name Id Type objectId Description ObjectId used as primary key for a message
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Sample Comments
2.1.2.3.3.2 Field createdAt Property Value Name createdAt Technical name Id Type date Description Timestamp with message's creation date
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Sample Comments
2.1.2.3.3.3 Field updatedAt Property Value Name updatedAt Technical name Id Type date Description Timestamp with message's update date
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Sample Comments
2.1.2.3.3.4 Field content Property Value Name content Technical name Id Type string Description Messages content, containing html links and emojis
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.3.3.5 Field threadId Property Value Name threadId Technical name Id Type objectId Description Reference to the thread were the message was sent
+
Dependencies Required true Primary key false Foreign collection thread Foreign field _id Relationship type Foreign Key Default Sample Comments
2.1.2.3.3.6 Field author Property Value Name author Technical name $ref #model/definitions/author Reference type model Reference description
2.1.2.3.3.7 Field status Property Value Name status Technical name Id Type string Description Curerent message status, used to define if it was edited or deleted:
+
+sent : message was sent and not edited or deleted.
+edited : message was edited by the author
+deleted : message was deleted by the author
+
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default sent Min length Max length Pattern Format Enum edited,deleted,sent Sample Comments
2.1.2.3.3.8 Field postRef Property Value Name postRef Technical name $ref #model/definitions/postRef Reference type model Reference description
{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "type": "object",
+ "title": "messages",
+ "description": "Message sent in a private conversation\n",
+ "additionalProperties": false,
+ "properties": {
+ "_id": {
+ "type": "string",
+ "description": "ObjectId used as primary key for a message",
+ "pattern": "^[a-fA-F0-9]{24}$"
+ },
+ "createdAt": {
+ "type": "string",
+ "description": "Timestamp with message's creation date",
+ "format": "date-time"
+ },
+ "updatedAt": {
+ "type": "string",
+ "description": "Timestamp with message's update date",
+ "format": "date-time"
+ },
+ "content": {
+ "type": "string",
+ "description": "Messages content, containing html links and emojis "
+ },
+ "threadId": {
+ "type": "string",
+ "description": "Reference to the thread were the message was sent",
+ "pattern": "^[a-fA-F0-9]{24}$"
+ },
+ "author": {
+ "$ref": "#model/definitions/author"
+ },
+ "status": {
+ "type": "string",
+ "description": "Curerent message status, used to define if it was edited or deleted:\n\n* **sent**: message was sent and not edited or deleted.\n* **edited**: message was edited by the author\n* **deleted**: message was deleted by the author",
+ "default": "sent",
+ "enum": [
+ "edited",
+ "deleted",
+ "sent"
+ ]
+ },
+ "postRef": {
+ "$ref": "#model/definitions/postRef"
+ }
+ },
+ "required": [
+ "_id",
+ "createdAt",
+ "updatedAt",
+ "content",
+ "threadId",
+ "author",
+ "status"
+ ]
+} {
+ "_id": ObjectId("507f1f77bcf86cd799439011"),
+ "createdAt": ISODate("2016-04-08T15:06:21.595Z"),
+ "updatedAt": ISODate("2016-04-08T15:06:21.595Z"),
+ "content": "Lorem",
+ "threadId": ObjectId("507f1f77bcf86cd799439011"),
+ "author": {
+ "id": ObjectId("507f1f77bcf86cd799439011"),
+ "name": "Lorem",
+ "type": "Lorem",
+ "location": {
+ "coordinates": [
+ 35.26,
+ -32.83
+ ],
+ "type": "Point",
+ "country": "Lorem",
+ "city": "Lorem",
+ "neighborhood": "Lorem",
+ "address": "Lorem"
+ }
+ },
+ "status": "sent",
+ "postRef": {
+ "id": ObjectId("507f1f77bcf86cd799439011"),
+ "objective": "offer",
+ "title": "Lorem",
+ "content": "Lorem",
+ "author": {
+ "id": ObjectId("507f1f77bcf86cd799439011"),
+ "name": "Lorem",
+ "type": "Lorem",
+ "location": {
+ "coordinates": [
+ 35.26,
+ -32.83
+ ],
+ "type": "Point",
+ "country": "Lorem",
+ "city": "Lorem",
+ "neighborhood": "Lorem",
+ "address": "Lorem"
+ }
+ }
+ }
+} use applicationDB;
+
+db.createCollection( "messages",{
+ "storageEngine": {
+ "wiredTiger": {}
+ },
+ "capped": false,
+ "validator": {
+ "$jsonSchema": {
+ "bsonType": "object",
+ "title": "messages",
+ "description": "Message sent in a private conversation\n",
+ "additionalProperties": false,
+ "properties": {
+ "_id": {
+ "bsonType": "objectId",
+ "description": "ObjectId used as primary key for a message"
+ },
+ "createdAt": {
+ "bsonType": "date",
+ "description": "Timestamp with message's creation date"
+ },
+ "updatedAt": {
+ "bsonType": "date",
+ "description": "Timestamp with message's update date"
+ },
+ "content": {
+ "bsonType": "string",
+ "description": "Messages content, containing html links and emojis "
+ },
+ "threadId": {
+ "bsonType": "objectId",
+ "description": "Reference to the thread were the message was sent"
+ },
+ "author": {
+ "bsonType": "object",
+ "properties": {
+ "id": {
+ "bsonType": "objectId",
+ "description": "Foreign key to the user who created the post."
+ },
+ "name": {
+ "bsonType": "string"
+ },
+ "type": {
+ "bsonType": "string"
+ },
+ "location": {
+ "bsonType": "object",
+ "description": "Location document according to the norms of a [GeoJSON Object](https://docs.mongodb.com/manual/reference/geojson/ ).\nThe fields address, neighborhood, city, state and country are added to store the result of the geoprocessing.",
+ "properties": {
+ "coordinates": {
+ "bsonType": "array",
+ "description": "Array with the coordinates, specifying **longitude first** and **latitude second**, as default in the [GeoJSON](https://docs.mongodb.com/manual/reference/geojson/) definition.",
+ "additionalItems": true,
+ "minItems": 2,
+ "maxItems": 2,
+ "uniqueItems": false,
+ "items": [
+ {
+ "bsonType": "number",
+ "description": "Location longitude\n",
+ "minimum": -180,
+ "maximum": 180
+ },
+ {
+ "bsonType": "number",
+ "description": "Location latitude\n",
+ "minimum": -90,
+ "maximum": 90
+ }
+ ]
+ },
+ "type": {
+ "bsonType": "string",
+ "description": "Type of the GeoJSON Object.\nPlease refer to the [official documentation](https://docs.mongodb.com/manual/reference/geojson/ ) for more information.\n\n**In our case, the value will always be of the type \"Point\".**",
+ "enum": [
+ "Point"
+ ]
+ },
+ "country": {
+ "bsonType": "string",
+ "description": "String holding the country's name.\n"
+ },
+ "city": {
+ "bsonType": "string",
+ "description": "String holding the city's name."
+ },
+ "neighborhood": {
+ "bsonType": "string",
+ "description": "String holding the neighborhood's name."
+ },
+ "address": {
+ "bsonType": "string",
+ "description": "String holding the address (street, number and other details)."
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "coordinates",
+ "type"
+ ]
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "id",
+ "name",
+ "type"
+ ]
+ },
+ "status": {
+ "bsonType": "string",
+ "description": "Curerent message status, used to define if it was edited or deleted:\n\n* **sent**: message was sent and not edited or deleted.\n* **edited**: message was edited by the author\n* **deleted**: message was deleted by the author",
+ "enum": [
+ "edited",
+ "deleted",
+ "sent"
+ ]
+ },
+ "postRef": {
+ "bsonType": "object",
+ "description": "Optional post reference, allowing a post to be referenced in a message thread.",
+ "properties": {
+ "id": {
+ "bsonType": "objectId"
+ },
+ "objective": {
+ "bsonType": "string",
+ "description": "Field to indicate the post's objective.\nCurrently only two values allowed: \"offering help\" and \"looking for help\".",
+ "enum": [
+ "request",
+ "offer"
+ ]
+ },
+ "title": {
+ "bsonType": "string",
+ "description": "The post title."
+ },
+ "content": {
+ "bsonType": "string",
+ "description": "String for the post content."
+ },
+ "author": {
+ "bsonType": "object",
+ "properties": {
+ "id": {
+ "bsonType": "objectId",
+ "description": "Foreign key to the user who created the post."
+ },
+ "name": {
+ "bsonType": "string"
+ },
+ "type": {
+ "bsonType": "string"
+ },
+ "location": {
+ "bsonType": "object",
+ "description": "Location document according to the norms of a [GeoJSON Object](https://docs.mongodb.com/manual/reference/geojson/ ).\nThe fields address, neighborhood, city, state and country are added to store the result of the geoprocessing.",
+ "properties": {
+ "coordinates": {
+ "bsonType": "array",
+ "description": "Array with the coordinates, specifying **longitude first** and **latitude second**, as default in the [GeoJSON](https://docs.mongodb.com/manual/reference/geojson/) definition.",
+ "additionalItems": true,
+ "minItems": 2,
+ "maxItems": 2,
+ "uniqueItems": false,
+ "items": [
+ {
+ "bsonType": "number",
+ "description": "Location longitude\n",
+ "minimum": -180,
+ "maximum": 180
+ },
+ {
+ "bsonType": "number",
+ "description": "Location latitude\n",
+ "minimum": -90,
+ "maximum": 90
+ }
+ ]
+ },
+ "type": {
+ "bsonType": "string",
+ "description": "Type of the GeoJSON Object.\nPlease refer to the [official documentation](https://docs.mongodb.com/manual/reference/geojson/ ) for more information.\n\n**In our case, the value will always be of the type \"Point\".**",
+ "enum": [
+ "Point"
+ ]
+ },
+ "country": {
+ "bsonType": "string",
+ "description": "String holding the country's name.\n"
+ },
+ "city": {
+ "bsonType": "string",
+ "description": "String holding the city's name."
+ },
+ "neighborhood": {
+ "bsonType": "string",
+ "description": "String holding the neighborhood's name."
+ },
+ "address": {
+ "bsonType": "string",
+ "description": "String holding the address (street, number and other details)."
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "coordinates",
+ "type"
+ ]
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "id",
+ "name",
+ "type"
+ ]
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "id",
+ "objective",
+ "title",
+ "content",
+ "author"
+ ]
+ }
+ },
+ "required": [
+ "_id",
+ "createdAt",
+ "updatedAt",
+ "content",
+ "threadId",
+ "author",
+ "status"
+ ]
+ }
+ },
+ "validationLevel": "off",
+ "validationAction": "warn"
+});
2.1.2.4 Collection posts Property Value Collection name posts Technical name Id Description Document to represent a post, asking or offering help to be displayed on the feed
+
Database applicationDB Capped false Size Max Storage engine WiredTiger Config String Validation level Off Validation action Warn Additional properties false Comments
Field Type Req Key Description Comments _id objectId true
createdAt date true Timestamp with the post's creation date
+
updatedAt date true Timestamp with the post's last update date
+
expireAt date false Timestamp with the date the post will expire.
If no expiration date is present, the post does not expire.
-
author document true
id objectId true Foreign key to the user who created the post.
-
name string true
type string true
location document true
author document true
id objectId true Foreign key to the user who created the post.
+
name string true
type string true
location document true Location document according to the norms of a GeoJSON Object .
The fields address, neighborhood, city, state and country are added to store the result of the geoprocessing.
-
coordinates array true Array with the coordinates, specifying longitude first and latitude second , as default in the GeoJSON definition.
-
[0] numeric false
[1] numeric false
type string true Type of the GeoJSON Object.
+
coordinates array true Array with the coordinates, specifying longitude first and latitude second , as default in the GeoJSON definition.
+
[0] numeric false
[1] numeric false
type string true Type of the GeoJSON Object.
Please refer to the official documentation for more information.
In our case, the value will always be of the type "Point".
-
country string false String holding the country's name.
-
city string false String holding the city's name.
-
neighborhood string false String holding the neighborhood's name.
-
address string false String holding the address (street, number and other details).
-
title string true
content string true String for the post content.
-
objective string true Field to indicate the post's objective.
+
country string false String holding the country's name.
+
city string false String holding the city's name.
+
neighborhood string false String holding the neighborhood's name.
+
address string false String holding the address (street, number and other details).
+
title string true
content string true String for the post content.
+
objective string true Field to indicate the post's objective.
Currently only two values allowed: "offering help" and "looking for help".
-
visibility string true Field to specify the post's visibility. It can be: worldwide, country, state and zipcode.
-
likes array true Array holding the user_id of all the users who liked the post.
-
[0] objectId false _id of the user who liked the post
-
types array false Array with the post's tags.
+
visibility string true Field to specify the post's visibility. It can be: worldwide, country, state and zipcode.
+
likes array true Array holding the user_id of all the users who liked the post.
+
[0] objectId false _id of the user who liked the post
+
types array false Array with the post's tags.
Can be: Medical Supplies, Groceries/Food, Business, Education, Legal, Wellbeing/Mental, Entertainment, Information, Funding, R&D and Others
-
[0] string false
language array false
[0] string false
externalLinks document false
email string false An email related to the post's content.
-
website string false Link for a website related to the post's content.
-
playStore string false Link for a Play Store application related to the post's content.
-
appStore string false Link for a AppStore application related to the post's content.
-
2.1.2.3.3.1 Field _id Property Value Name _id Technical name Id Type objectId Description
Dependencies Required true Primary key true Foreign collection Foreign field Relationship type Default Sample Comments
2.1.2.3.3.2 Field createdAt Property Value Name createdAt Technical name Id Type date Description Timestamp with the post's creation date
-
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Sample Comments
2.1.2.3.3.3 Field updatedAt Property Value Name updatedAt Technical name Id Type date Description Timestamp with the post's last update date
-
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Sample Comments
2.1.2.3.3.4 Field expireAt Property Value Name expireAt Technical name Id Type date Description Timestamp with the date the post will expire.
+
[0] string false
language array false
[0] string false
externalLinks document false
email string false An email related to the post's content.
+
website string false Link for a website related to the post's content.
+
playStore string false Link for a Play Store application related to the post's content.
+
appStore string false Link for a AppStore application related to the post's content.
+
2.1.2.4.3.1 Field _id Property Value Name _id Technical name Id Type objectId Description
Dependencies Required true Primary key true Foreign collection Foreign field Relationship type Default Sample Comments
2.1.2.4.3.2 Field createdAt Property Value Name createdAt Technical name Id Type date Description Timestamp with the post's creation date
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Sample Comments
2.1.2.4.3.3 Field updatedAt Property Value Name updatedAt Technical name Id Type date Description Timestamp with the post's last update date
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Sample Comments
2.1.2.4.3.4 Field expireAt Property Value Name expireAt Technical name Id Type date Description Timestamp with the date the post will expire.
If no expiration date is present, the post does not expire.
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Sample Comments
2.1.2.3.3.5 Field author Property Value Name author $ref #model/definitions/author Reference type model
2.1.2.3.3.6 Field title Property Value Name title Technical name Id Type string Description Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.3.3.7 Field content Property Value Name content Technical name Id Type string Description String for the post content.
-
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.3.3.8 Field objective Property Value Name objective Technical name Id Type string Description Field to indicate the post's objective.
+
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Sample Comments
2.1.2.4.3.5 Field author Property Value Name author Technical name $ref #model/definitions/author Reference type model Reference description
2.1.2.4.3.6 Field title Property Value Name title Technical name Id Type string Description Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.4.3.7 Field content Property Value Name content Technical name Id Type string Description String for the post content.
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.4.3.8 Field objective Property Value Name objective Technical name Id Type string Description Field to indicate the post's objective.
Currently only two values allowed: "offering help" and "looking for help".
-
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum request,offer Sample offer Comments
2.1.2.3.3.9 Field visibility Property Value Name visibility Technical name Id Type string Description Field to specify the post's visibility. It can be: worldwide, country, state and zipcode.
-
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum zipcode,state,country,worldwide Sample Comments
2.1.2.3.3.10 Field likes Parent field: location
Child field(s):
Field Type Req Key Description Comments [0] objectId false fk _id of the user who liked the post
-
Property Value Name likes Technical name Id Type array Description Array holding the user_id of all the users who liked the post.
-
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Min items Max items Unique items true Additional items true Comments
2.1.2.3.3.11 Field [0] Property Value Id Type objectId Description _id of the user who liked the post
-
Dependencies Primary key false Foreign collection users Foreign field _id Relationship type Foreign Key Default Sample Comments
2.1.2.3.3.12 Field types Parent field: coordinates
Child field(s):
Field Type Req Key Description Comments [0] string false
Property Value Name types Technical name Id Type array Description Array with the post's tags.
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum request,offer Sample offer Comments
2.1.2.4.3.9 Field visibility Property Value Name visibility Technical name Id Type string Description Field to specify the post's visibility. It can be: worldwide, country, state and zipcode.
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum zipcode,state,country,worldwide Sample Comments
2.1.2.4.3.10 Field likes Parent field: posts
Child field(s):
Field Type Req Key Description Comments [0] objectId false fk _id of the user who liked the post
+
Property Value Name likes Technical name Id Type array Description Array holding the user_id of all the users who liked the post.
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Min items Max items Unique items true Additional items true Comments
2.1.2.4.3.11 Field [0] Property Value Display name Id Type objectId Description _id of the user who liked the post
+
Dependencies Primary key false Foreign collection users Foreign field _id Relationship type Foreign Key Default Sample Comments
2.1.2.4.3.12 Field types Parent field: posts
Child field(s):
Field Type Req Key Description Comments [0] string false
Property Value Name types Technical name Id Type array Description Array with the post's tags.
Can be: Medical Supplies, Groceries/Food, Business, Education, Legal, Wellbeing/Mental, Entertainment, Information, Funding, R&D and Others
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Min items Max items Unique items false Additional items true Comments
2.1.2.3.3.13 Field type Property Value Id Type string Description
Dependencies Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Medical Supplies,Groceries/Food,Business,Education,Legal,Wellbeing/Mental,Entertainment,Information,Funding,R&D,Others Sample Groceries/Food Comments
2.1.2.3.3.14 Field language Parent field: location
Child field(s):
Field Type Req Key Description Comments [0] string false
Property Value Name language Technical name Id Type array Description
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Min items Max items Unique items false Additional items true Comments
2.1.2.3.3.15 Field city Property Value Id Type string Description
Dependencies Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.3.3.16 Field externalLinks Parent field: location
Child field(s):
Field Type Req Key Description Comments email string false An email related to the post's content.
-
website string false Link for a website related to the post's content.
-
playStore string false Link for a Play Store application related to the post's content.
-
appStore string false Link for a AppStore application related to the post's content.
-
Property Value Name externalLinks Technical name Id Type document Description
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type DBRef Min Properties Max Properties Additional properties false Comments
2.1.2.3.3.17 Field email Property Value Name email Technical name Id Type string Description An email related to the post's content.
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.3.3.18 Field website Property Value Name website Technical name Id Type string Description Link for a website related to the post's content.
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.3.3.19 Field playStore Property Value Name playStore Technical name Id Type string Description Link for a Play Store application related to the post's content.
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.3.3.20 Field appStore Property Value Name appStore Technical name Id Type string Description Link for a AppStore application related to the post's content.
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Min items Max items Unique items false Additional items true Comments
2.1.2.4.3.13 Field [0] Property Value Display name Id Type string Description
Dependencies Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Medical Supplies,Groceries/Food,Business,Education,Legal,Wellbeing/Mental,Entertainment,Information,Funding,R&D,Others Sample Groceries/Food Comments
2.1.2.4.3.14 Field language Parent field: posts
Child field(s):
Field Type Req Key Description Comments [0] string false
Property Value Name language Technical name Id Type array Description
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Min items Max items Unique items false Additional items true Comments
2.1.2.4.3.15 Field [0] Property Value Display name Id Type string Description
Dependencies Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.4.3.16 Field externalLinks Parent field: posts
Child field(s):
Field Type Req Key Description Comments email string false An email related to the post's content.
+
website string false Link for a website related to the post's content.
+
playStore string false Link for a Play Store application related to the post's content.
+
appStore string false Link for a AppStore application related to the post's content.
+
Property Value Name externalLinks Technical name Id Type document Description
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type DBRef Min Properties Max Properties Additional properties false Comments
2.1.2.4.3.17 Field email Property Value Name email Technical name Id Type string Description An email related to the post's content.
+
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.4.3.18 Field website Property Value Name website Technical name Id Type string Description Link for a website related to the post's content.
+
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.4.3.19 Field playStore Property Value Name playStore Technical name Id Type string Description Link for a Play Store application related to the post's content.
+
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.4.3.20 Field appStore Property Value Name appStore Technical name Id Type string Description Link for a AppStore application related to the post's content.
+
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"title": "posts",
@@ -809,7 +1209,7 @@
"visibility",
"likes"
]
-} {
"_id": ObjectId("507f1f77bcf86cd799439011"),
"createdAt": ISODate("2016-04-08T15:06:21.595Z"),
"updatedAt": ISODate("2016-04-08T15:06:21.595Z"),
@@ -849,7 +1249,7 @@
"playStore": "Lorem",
"appStore": "Lorem"
}
-} use applicationDB;
db.createCollection( "posts",{
"storageEngine": {
@@ -1059,155 +1459,465 @@
},
"validationLevel": "off",
"validationAction": "warn"
-});
2.1.2.4 Collection users Property Value Collection name users Technical name Id Description Collection that holds all the data on system's users.
+});
2.1.2.5 Collection thread Property Value Collection name thread Technical name Id Description ObjectId that serves as primary key for the message thread.
+
Database applicationDB Capped false Size Max Storage engine WiredTiger Config String Validation level Off Validation action Warn Additional properties false Comments
Field Type Req Key Description Comments _id objectId true
createdAt date true Timestamp with the threads's creation date
+
updatedAt date true Timestamp with the thread's update date
+
status string true Curerent thread status, used to define archives, soft deletes and other conversation status. The statuses are:
+
+pending : if the user didn't accept the message request yet
+blocked : if the one of the user's blocked the other
+accepted : message request was accepted and users exchange messages
+archived : user archived the message thread
+deleted : user deleted the conversation
+
+
participants array true Array of user reference's, containing the participants of the message thread.
+
It is modelled as an array to allow expansion to group chats in the future.
+
[0] document true
id objectId true Foreign key to the user who created the post.
+
name string true
type string true
location document true Location document according to the norms of a GeoJSON Object .
+The fields address, neighborhood, city, state and country are added to store the result of the geoprocessing.
+
coordinates array true Array with the coordinates, specifying longitude first and latitude second , as default in the GeoJSON definition.
+
[0] numeric false
[1] numeric false
type string true Type of the GeoJSON Object.
+Please refer to the official documentation for more information.
+
In our case, the value will always be of the type "Point".
+
country string false String holding the country's name.
+
city string false String holding the city's name.
+
neighborhood string false String holding the neighborhood's name.
+
address string false String holding the address (street, number and other details).
+
newMessages boolean true Flag to indicate whether there are new messages since last time the user accessed the thread.
+
lastAccess date true Timestamp with the last time the user accessed the message thread.
+
2.1.2.5.3.1 Field _id Property Value Name _id Technical name Id Type objectId Description
Dependencies Required true Primary key true Foreign collection Foreign field Relationship type Default Sample Comments
2.1.2.5.3.2 Field createdAt Property Value Name createdAt Technical name Id Type date Description Timestamp with the threads's creation date
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Sample Comments
2.1.2.5.3.3 Field updatedAt Property Value Name updatedAt Technical name Id Type date Description Timestamp with the thread's update date
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Sample Comments
2.1.2.5.3.4 Field status Property Value Name status Technical name Id Type string Description Curerent thread status, used to define archives, soft deletes and other conversation status. The statuses are:
+
+pending : if the user didn't accept the message request yet
+blocked : if the one of the user's blocked the other
+accepted : message request was accepted and users exchange messages
+archived : user archived the message thread
+deleted : user deleted the conversation
+
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default pending Min length Max length Pattern Format Enum deleted,blocked,accepted,pending,archived Sample Comments
2.1.2.5.3.5 Field participants Parent field: thread
Child field(s):
Field Type Req Key Description Comments [0] document true
Property Value Name participants Technical name Id Type array Description Array of user reference's, containing the participants of the message thread.
+
It is modelled as an array to allow expansion to group chats in the future.
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Min items 2 Max items Unique items false Additional items true Comments
2.1.2.5.3.6 Field [0] Parent field: participants
Child field(s):
Field Type Req Key Description Comments id objectId true fk Foreign key to the user who created the post.
+
name string true
type string true
location reference true
newMessages boolean true Flag to indicate whether there are new messages since last time the user accessed the thread.
+
lastAccess date true Timestamp with the last time the user accessed the message thread.
+
Property Value Id Type document Description
Dependencies Primary key false Foreign collection Foreign field Relationship type DBRef Min Properties Max Properties Additional properties false Comments
2.1.2.5.3.7 Field id Property Value Name id Technical name Id Type objectId Description Foreign key to the user who created the post.
+
Dependencies Required true Primary key false Foreign collection users Foreign field _id Relationship type Foreign Key Default Sample Comments
2.1.2.5.3.8 Field name Property Value Name name Technical name Id Type string Description Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.5.3.9 Field type Property Value Name type Technical name Id Type string Description Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.5.3.10 Field location Property Value Name location Technical name $ref #model/definitions/location Reference type model Reference description
2.1.2.5.3.11 Field newMessages Property Value Name newMessages Technical name Id Type boolean Description Flag to indicate whether there are new messages since last time the user accessed the thread.
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default false Sample Comments
2.1.2.5.3.12 Field lastAccess Property Value Name lastAccess Technical name Id Type date Description Timestamp with the last time the user accessed the message thread.
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Sample Comments
{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "type": "object",
+ "title": "thread",
+ "description": "ObjectId that serves as primary key for the message thread.",
+ "additionalProperties": false,
+ "properties": {
+ "_id": {
+ "type": "string",
+ "pattern": "^[a-fA-F0-9]{24}$"
+ },
+ "createdAt": {
+ "type": "string",
+ "description": "Timestamp with the threads's creation date",
+ "format": "date-time"
+ },
+ "updatedAt": {
+ "type": "string",
+ "description": "Timestamp with the thread's update date",
+ "format": "date-time"
+ },
+ "status": {
+ "type": "string",
+ "description": "Curerent thread status, used to define archives, soft deletes and other conversation status. The statuses are:\n\n* **pending**: if the user didn't accept the message request yet\n* **blocked**: if the one of the user's blocked the other\n* **accepted**: message request was accepted and users exchange messages\n* **archived**: user archived the message thread\n* **deleted**: user deleted the conversation",
+ "default": "pending",
+ "enum": [
+ "deleted",
+ "blocked",
+ "accepted",
+ "pending",
+ "archived"
+ ]
+ },
+ "participants": {
+ "type": "array",
+ "description": "Array of user reference's, containing the participants of the message thread.\n\nIt is modelled as an array to allow expansion to group chats in the future.",
+ "additionalItems": true,
+ "minItems": 2,
+ "uniqueItems": false,
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Foreign key to the user who created the post.",
+ "pattern": "^[a-fA-F0-9]{24}$"
+ },
+ "name": {
+ "type": "string",
+ "description": "User's name"
+ },
+ "type": {
+ "type": "string",
+ "description": "User's type"
+ },
+ "location": {
+ "$ref": "#model/definitions/location"
+ },
+ "newMessages": {
+ "type": "boolean",
+ "description": "Flag to indicate whether there are new messages since last time the user accessed the thread.",
+ "default": false
+ },
+ "lastAccess": {
+ "type": "string",
+ "description": "Timestamp with the last time the user accessed the message thread.",
+ "format": "date-time"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "id",
+ "name",
+ "type",
+ "location",
+ "newMessages",
+ "lastAccess"
+ ]
+ }
+ }
+ },
+ "required": [
+ "_id",
+ "createdAt",
+ "updatedAt",
+ "status",
+ "participants"
+ ]
+} {
+ "_id": ObjectId("507f1f77bcf86cd799439011"),
+ "createdAt": ISODate("2016-04-08T15:06:21.595Z"),
+ "updatedAt": ISODate("2016-04-08T15:06:21.595Z"),
+ "status": "pending",
+ "participants": [
+ {
+ "id": ObjectId("507f1f77bcf86cd799439011"),
+ "name": "Lorem",
+ "type": "Lorem",
+ "location": {
+ "coordinates": [
+ 35.26,
+ -32.83
+ ],
+ "type": "Point",
+ "country": "Lorem",
+ "city": "Lorem",
+ "neighborhood": "Lorem",
+ "address": "Lorem"
+ },
+ "newMessages": false,
+ "lastAccess": ISODate("2016-04-08T15:06:21.595Z")
+ }
+ ]
+} use applicationDB;
+
+db.createCollection( "thread",{
+ "storageEngine": {
+ "wiredTiger": {}
+ },
+ "capped": false,
+ "validator": {
+ "$jsonSchema": {
+ "bsonType": "object",
+ "title": "thread",
+ "description": "ObjectId that serves as primary key for the message thread.",
+ "additionalProperties": false,
+ "properties": {
+ "_id": {
+ "bsonType": "objectId"
+ },
+ "createdAt": {
+ "bsonType": "date",
+ "description": "Timestamp with the threads's creation date"
+ },
+ "updatedAt": {
+ "bsonType": "date",
+ "description": "Timestamp with the thread's update date"
+ },
+ "status": {
+ "bsonType": "string",
+ "description": "Curerent thread status, used to define archives, soft deletes and other conversation status. The statuses are:\n\n* **pending**: if the user didn't accept the message request yet\n* **blocked**: if the one of the user's blocked the other\n* **accepted**: message request was accepted and users exchange messages\n* **archived**: user archived the message thread\n* **deleted**: user deleted the conversation",
+ "enum": [
+ "deleted",
+ "blocked",
+ "accepted",
+ "pending",
+ "archived"
+ ]
+ },
+ "participants": {
+ "bsonType": "array",
+ "description": "Array of user reference's, containing the participants of the message thread.\n\nIt is modelled as an array to allow expansion to group chats in the future.",
+ "additionalItems": true,
+ "minItems": 2,
+ "uniqueItems": false,
+ "items": {
+ "bsonType": "object",
+ "properties": {
+ "id": {
+ "bsonType": "objectId",
+ "description": "Foreign key to the user who created the post."
+ },
+ "name": {
+ "bsonType": "string",
+ "description": "User's name"
+ },
+ "type": {
+ "bsonType": "string",
+ "description": "User's type"
+ },
+ "location": {
+ "bsonType": "object",
+ "description": "Location document according to the norms of a [GeoJSON Object](https://docs.mongodb.com/manual/reference/geojson/ ).\nThe fields address, neighborhood, city, state and country are added to store the result of the geoprocessing.",
+ "properties": {
+ "coordinates": {
+ "bsonType": "array",
+ "description": "Array with the coordinates, specifying **longitude first** and **latitude second**, as default in the [GeoJSON](https://docs.mongodb.com/manual/reference/geojson/) definition.",
+ "additionalItems": true,
+ "minItems": 2,
+ "maxItems": 2,
+ "uniqueItems": false,
+ "items": [
+ {
+ "bsonType": "number",
+ "description": "Location longitude\n",
+ "minimum": -180,
+ "maximum": 180
+ },
+ {
+ "bsonType": "number",
+ "description": "Location latitude\n",
+ "minimum": -90,
+ "maximum": 90
+ }
+ ]
+ },
+ "type": {
+ "bsonType": "string",
+ "description": "Type of the GeoJSON Object.\nPlease refer to the [official documentation](https://docs.mongodb.com/manual/reference/geojson/ ) for more information.\n\n**In our case, the value will always be of the type \"Point\".**",
+ "enum": [
+ "Point"
+ ]
+ },
+ "country": {
+ "bsonType": "string",
+ "description": "String holding the country's name.\n"
+ },
+ "city": {
+ "bsonType": "string",
+ "description": "String holding the city's name."
+ },
+ "neighborhood": {
+ "bsonType": "string",
+ "description": "String holding the neighborhood's name."
+ },
+ "address": {
+ "bsonType": "string",
+ "description": "String holding the address (street, number and other details)."
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "coordinates",
+ "type"
+ ]
+ },
+ "newMessages": {
+ "bsonType": "bool",
+ "description": "Flag to indicate whether there are new messages since last time the user accessed the thread."
+ },
+ "lastAccess": {
+ "bsonType": "date",
+ "description": "Timestamp with the last time the user accessed the message thread."
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "id",
+ "name",
+ "type",
+ "newMessages",
+ "lastAccess"
+ ]
+ }
+ }
+ },
+ "required": [
+ "_id",
+ "createdAt",
+ "updatedAt",
+ "status",
+ "participants"
+ ]
+ }
+ },
+ "validationLevel": "off",
+ "validationAction": "warn"
+});
2.1.2.6 Collection users Property Value Collection name users Technical name Id Description Collection that holds all the data on system's users.
The users can be of two types : (1) Individual , representing a private user account; and (2) Organization , representing an organization of various types.
The field 'type' is used to differentiate between the two subschemas, with 'individual' representing private user accounts and "Community", "Government", "Health care provider", "Non-profit", "Other", "R&D", "Startup", "Traditional Company" and "University".
-
Database applicationDB Capped false Size Max Storage engine WiredTiger Config String Validation level Off Validation action Warn Additional properties true Comments
Field Type Req Key Description Comments _id objectId true Automatically generated _it as primary key.
-
createdAt date true Timestamp with the user's creation date
+
Database applicationDB Capped false Size Max Storage engine WiredTiger Config String Validation level Off Validation action Warn Additional properties true Comments
Field Type Req Key Description Comments _id objectId true Automatically generated _it as primary key.
+
createdAt date true Timestamp with the user's creation date
Thu Apr 16 2020 04:59:24 GMT-0300 (Horário Padrão de BrasÃlia): changed the name to registeredAt
-
updatedAt date true Timestamp indicating last update on the database.
-
authId string true String holding the authentication service id (Auth0).
+
updatedAt date true Timestamp indicating last update on the database.
+
authId string true String holding the authentication service id (Auth0).
This field is a foreign key to the user in the Auth0 database , connecting through the user_id field.
-
location document false
location document false Location document according to the norms of a GeoJSON Object .
The fields address, neighborhood, city, state and country are added to store the result of the geoprocessing.
-
coordinates array true Array with the coordinates, specifying longitude first and latitude second , as default in the GeoJSON definition.
-
[0] numeric false
[1] numeric false
type string true Type of the GeoJSON Object.
+
coordinates array true Array with the coordinates, specifying longitude first and latitude second , as default in the GeoJSON definition.
+
[0] numeric false
[1] numeric false
type string true Type of the GeoJSON Object.
Please refer to the official documentation for more information.
In our case, the value will always be of the type "Point".
-
country string false String holding the country's name.
-
city string false String holding the city's name.
-
neighborhood string false String holding the neighborhood's name.
-
address string false String holding the address (street, number and other details).
-
about string false Small self-introduction, limited to 100 char
-
photo uri false URI with the location of the profile's photo.
-
oneOf choice false
subschema subschema false Subschema representing a individual account.
-
type string true
firstName string true The first name of the user
-
lastName string false The last name of the user. Optional field.
-
needs document true User's need in the app, representing what kind of help he/she needs
-
medicalHelp boolean true Flag to indicate wheter the user needs medical help.
+
country string false String holding the country's name.
+
city string false String holding the city's name.
+
neighborhood string false String holding the neighborhood's name.
+
address string false String holding the address (street, number and other details).
+
about string false Small self-introduction, limited to 100 char
+
photo uri false URI with the location of the profile's photo.
+
oneOf choice false
[0] subschema subschema false Subschema representing a individual account.
+
type string true
firstName string true The first name of the user
+
lastName string false The last name of the user. Optional field.
+
needs document true User's need in the app, representing what kind of help he/she needs
+
medicalHelp boolean true Flag to indicate wheter the user needs medical help.
Marking this indicates he shows symptoms of COVID-19.
-
otherHelp boolean true Flag to indicate wheter the user needs non-medical help, such as getting groceries, medice and etc..
-
objectives document false Document with what are the objectives of the user through the application, such as donating, volunteering or sharing information.
-
volunteer boolean true Flag to indicate wheter the user wants to volunteer for iniciatives through the app.
-
donate boolean true Flag to indicate wheter the user wants to donate for iniciatives through the app.
-
shareInformation boolean true Flag to indicate wheter the user wants to share information through the app.
-
urls document false Document holding the user urls to external websites and social networks
-
facebook uri false URL to user's Facebook page.
-
linkedin uri false URL to user's Linkedin page.
-
twitter uri false URL to user's Twitter page.
-
github uri false URL to user's Github page.
-
website uri false URL to user's personal website.
-
subschema subschema false Subschema representing an organization (colective) account.
-
type string true The type of the organization. Can be: Community, Government, Health care provider, Non-profit, Other, R&D, Startup, Traditional Company and University. All names are store in lowercase only.
-
industry string true Industry from which the organization participates. Plan is for this values to be scraped from linkedin industries.
-
ownerId objectId true _id of the user who owns the organization.
-
name string true
needs document true Document with what are the objectives of the organization through the application, such as finding volunteers, staff, investors and donors.
-
volunteers boolean true Flag to indicate wheter the organization is seeking volunteers through the app.
-
donations boolean true Flag to indicate wheter the organization is seeking donations through the app.
-
staff boolean true Flag to indicate wheter the organization is seeking staff through the app.
-
other boolean true Flag to indicate wheter the organization is seeking other needs through the app.
-
global boolean false Flag to indicate wheter this organization is global.
-
urls document false Document holding external urls and refs to the organization such as social media profiles.
-
linkedin uri false URL to organization's Linkedin page.
-
twitter uri false URL to organization's Twitter page.
-
website uri false URL to organization's website.
-
playstore uri false URL to organization's page at Google Play Store.
-
appstore uri false URL to organization's page at Apple App Store
-
language string false Field to inidicate the language used by the organization.
-
anyOf choice false
subschema subschema false Case where the user comes from social networks with a registration that uses email. In this case, the email field is required. This case covers the great majority of currently supported social network authentications.
-
email email true User's email validated by a regex pattern.
-
subschema subschema false Case where the user comes from social networks with a registration that allows the use of only the phone. In this case, the phone field is required, and the email isn't.
+
otherHelp boolean true Flag to indicate wheter the user needs non-medical help, such as getting groceries, medice and etc..
+
objectives document false Document with what are the objectives of the user through the application, such as donating, volunteering or sharing information.
+
volunteer boolean true Flag to indicate wheter the user wants to volunteer for iniciatives through the app.
+
donate boolean true Flag to indicate wheter the user wants to donate for iniciatives through the app.
+
shareInformation boolean true Flag to indicate wheter the user wants to share information through the app.
+
urls document false Document holding the user urls to external websites and social networks
+
facebook uri false URL to user's Facebook page.
+
linkedin uri false URL to user's Linkedin page.
+
twitter uri false URL to user's Twitter page.
+
github uri false URL to user's Github page.
+
website uri false URL to user's personal website.
+
[1] subschema subschema false Subschema representing an organization (colective) account.
+
type string true The type of the organization. Can be: Community, Government, Health care provider, Non-profit, Other, R&D, Startup, Traditional Company and University. All names are store in lowercase only.
+
industry string true Industry from which the organization participates. Plan is for this values to be scraped from linkedin industries.
+
ownerId objectId true _id of the user who owns the organization.
+
name string true
needs document true Document with what are the objectives of the organization through the application, such as finding volunteers, staff, investors and donors.
+
volunteers boolean true Flag to indicate wheter the organization is seeking volunteers through the app.
+
donations boolean true Flag to indicate wheter the organization is seeking donations through the app.
+
staff boolean true Flag to indicate wheter the organization is seeking staff through the app.
+
other boolean true Flag to indicate wheter the organization is seeking other needs through the app.
+
global boolean false Flag to indicate wheter this organization is global.
+
urls document false Document holding external urls and refs to the organization such as social media profiles.
+
linkedin uri false URL to organization's Linkedin page.
+
twitter uri false URL to organization's Twitter page.
+
website uri false URL to organization's website.
+
playstore uri false URL to organization's page at Google Play Store.
+
appstore uri false URL to organization's page at Apple App Store
+
language string false Field to inidicate the language used by the organization.
+
anyOf choice false
[0] subschema subschema false Case where the user comes from social networks with a registration that uses email. In this case, the email field is required. This case covers the great majority of currently supported social network authentications.
+
email email true User's email validated by a regex pattern.
+
[1] subschema subschema false Case where the user comes from social networks with a registration that allows the use of only the phone. In this case, the phone field is required, and the email isn't.
An example of ocial network that falls into this case is Twitter.
-
phone string true
2.1.2.4.3.1 Field createdAt Property Value Name createdAt Technical name Id Type date Description Timestamp with the user's creation date
+
phone string true
2.1.2.6.3.1 Field createdAt Property Value Name createdAt Technical name Id Type date Description Timestamp with the user's creation date
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Sample Comments Thu Apr 16 2020 04:59:24 GMT-0300 (Horário Padrão de BrasÃlia): changed the name to registeredAt
-
2.1.2.4.3.2 Field _id Property Value Name _id Technical name Id Type objectId Description Automatically generated _it as primary key.
-
Dependencies Required true Primary key true Foreign collection Foreign field Relationship type Default Sample Comments
2.1.2.4.3.3 Field updatedAt Property Value Name updatedAt Technical name Id Type date Description Timestamp indicating last update on the database.
-
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Sample Comments
2.1.2.4.3.4 Field authId Property Value Name authId Technical name Id Type string Description String holding the authentication service id (Auth0).
+
2.1.2.6.3.2 Field _id Property Value Name _id Technical name Id Type objectId Description Automatically generated _it as primary key.
+
Dependencies Required true Primary key true Foreign collection Foreign field Relationship type Default Sample Comments
2.1.2.6.3.3 Field updatedAt Property Value Name updatedAt Technical name Id Type date Description Timestamp indicating last update on the database.
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Sample Comments
2.1.2.6.3.4 Field authId Property Value Name authId Technical name Id Type string Description String holding the authentication service id (Auth0).
This field is a foreign key to the user in the Auth0 database , connecting through the user_id field.
-
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.4.3.5 Field location Property Value Name location $ref #model/definitions/location Reference type model
2.1.2.4.3.6 Field about Property Value Name about Technical name Id Type string Description Small self-introduction, limited to 100 char
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.4.3.7 Field photo Property Value Name photo Technical name Id Type string Description URI with the location of the profile's photo.
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format uri Enum Sample Comments
2.1.2.4.3.8 Field oneOf Parent field: coordinates
Child field(s):
Field Type Req Key Description Comments subschema subschema false Subschema representing a individual account.
-
subschema subschema false Subschema representing an organization (colective) account.
-
Property Value Choice oneOf
2.1.2.4.3.9 Field [1] Parent field: location
Child field(s):
Field Type Req Key Description Comments type string true
firstName string true The first name of the user
-
lastName string false The last name of the user. Optional field.
-
needs document true User's need in the app, representing what kind of help he/she needs
-
objectives document false Document with what are the objectives of the user through the application, such as donating, volunteering or sharing information.
-
urls document false Document holding the user urls to external websites and social networks
-
Property Value Id individual Description Subschema representing a individual account.
-
Required Min Properties Max Properties Additional properties true Comments
2.1.2.4.3.10 Field type Property Value Name type Technical name Id Type string Description
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum individual Sample Comments
2.1.2.4.3.11 Field firstName Property Value Name firstName Technical name Id Type string Description The first name of the user
-
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.4.3.12 Field lastName Property Value Name lastName Technical name Id Type string Description The last name of the user. Optional field.
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.4.3.13 Field needs Parent field: location
Child field(s):
Field Type Req Key Description Comments medicalHelp boolean true Flag to indicate wheter the user needs medical help.
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.6.3.5 Field location Property Value Name location Technical name $ref #model/definitions/location Reference type model Reference description
2.1.2.6.3.6 Field about Property Value Name about Technical name Id Type string Description Small self-introduction, limited to 100 char
+
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.6.3.7 Field photo Property Value Name photo Technical name Id Type string Description URI with the location of the profile's photo.
+
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format uri Enum Sample Comments
2.1.2.6.3.8 Field oneOf Parent field: users
Child field(s):
Field Type Req Key Description Comments subschema subschema false Subschema representing a individual account.
+
subschema subschema false Subschema representing an organization (colective) account.
+
Property Value Choice oneOf Description
Comments
2.1.2.6.3.9 Field [0] subschema Parent field: oneOf
Child field(s):
Field Type Req Key Description Comments type string true
firstName string true The first name of the user
+
lastName string false The last name of the user. Optional field.
+
needs document true User's need in the app, representing what kind of help he/she needs
+
objectives document false Document with what are the objectives of the user through the application, such as donating, volunteering or sharing information.
+
urls document false Document holding the user urls to external websites and social networks
+
Property Value Display name subschema Id individual Description Subschema representing a individual account.
+
Required Min Properties Max Properties Additional properties true Comments
2.1.2.6.3.10 Field type Property Value Name type Technical name Id Type string Description
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum individual Sample Comments
2.1.2.6.3.11 Field firstName Property Value Name firstName Technical name Id Type string Description The first name of the user
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.6.3.12 Field lastName Property Value Name lastName Technical name Id Type string Description The last name of the user. Optional field.
+
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.6.3.13 Field needs Parent field: [0] subschema
Child field(s):
Field Type Req Key Description Comments medicalHelp boolean true Flag to indicate wheter the user needs medical help.
Marking this indicates he shows symptoms of COVID-19.
-
otherHelp boolean true Flag to indicate wheter the user needs non-medical help, such as getting groceries, medice and etc..
-
Property Value Name needs Technical name Id Type document Description User's need in the app, representing what kind of help he/she needs
-
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type DBRef Min Properties Max Properties Additional properties false Comments
2.1.2.4.3.14 Field medicalHelp Property Value Name medicalHelp Technical name Id Type boolean Description Flag to indicate wheter the user needs medical help.
+
otherHelp boolean true Flag to indicate wheter the user needs non-medical help, such as getting groceries, medice and etc..
+
Property Value Name needs Technical name Id Type document Description User's need in the app, representing what kind of help he/she needs
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type DBRef Min Properties Max Properties Additional properties false Comments
2.1.2.6.3.14 Field medicalHelp Property Value Name medicalHelp Technical name Id Type boolean Description Flag to indicate wheter the user needs medical help.
Marking this indicates he shows symptoms of COVID-19.
-
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default false Sample false Comments
2.1.2.4.3.15 Field otherHelp Property Value Name otherHelp Technical name Id Type boolean Description Flag to indicate wheter the user needs non-medical help, such as getting groceries, medice and etc..
-
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default false Sample false Comments
2.1.2.4.3.16 Field objectives Parent field: users
Child field(s):
Field Type Req Key Description Comments volunteer boolean true Flag to indicate wheter the user wants to volunteer for iniciatives through the app.
-
donate boolean true Flag to indicate wheter the user wants to donate for iniciatives through the app.
-
shareInformation boolean true Flag to indicate wheter the user wants to share information through the app.
-
Property Value Name objectives Technical name Id Type document Description Document with what are the objectives of the user through the application, such as donating, volunteering or sharing information.
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type DBRef Min Properties Max Properties Additional properties false Comments
2.1.2.4.3.17 Field volunteer Property Value Name volunteer Technical name Id Type boolean Description Flag to indicate wheter the user wants to volunteer for iniciatives through the app.
-
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default false Sample false Comments
2.1.2.4.3.18 Field donate Property Value Name donate Technical name Id Type boolean Description Flag to indicate wheter the user wants to donate for iniciatives through the app.
-
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default false Sample false Comments
2.1.2.4.3.19 Field shareInformation Property Value Name shareInformation Technical name Id Type boolean Description Flag to indicate wheter the user wants to share information through the app.
-
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default true Sample true Comments
2.1.2.4.3.20 Field urls Parent field: subschema
Child field(s):
Field Type Req Key Description Comments facebook string false URL to user's Facebook page.
-
linkedin string false URL to user's Linkedin page.
-
twitter string false URL to user's Twitter page.
-
github string false URL to user's Github page.
-
website string false URL to user's personal website.
-
Property Value Name urls Technical name Id Type document Description Document holding the user urls to external websites and social networks
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type DBRef Min Properties Max Properties Additional properties false Comments
2.1.2.4.3.21 Field facebook Property Value Name facebook Technical name Id Type string Description URL to user's Facebook page.
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format uri Enum Sample http://facebook.com/myProfile Comments
2.1.2.4.3.22 Field linkedin Property Value Name linkedin Technical name Id Type string Description URL to user's Linkedin page.
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format uri Enum Sample http://linkedin.com/in/myProfile Comments
2.1.2.4.3.23 Field twitter Property Value Name twitter Technical name Id Type string Description URL to user's Twitter page.
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format uri Enum Sample http://twitter.com/myProfile Comments
2.1.2.4.3.24 Field github Property Value Name github Technical name Id Type string Description URL to user's Github page.
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format uri Enum Sample http://github.com/myProfile Comments
2.1.2.4.3.25 Field website Property Value Name website Technical name Id Type string Description URL to user's personal website.
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format uri Enum Sample http://mypersonalwebsite.com Comments
2.1.2.4.3.26 Field [1] Parent field: objectives
Child field(s):
Field Type Req Key Description Comments type string true The type of the organization. Can be: Community, Government, Health care provider, Non-profit, Other, R&D, Startup, Traditional Company and University. All names are store in lowercase only.
-
industry string true Industry from which the organization participates. Plan is for this values to be scraped from linkedin industries.
-
ownerId objectId true fk _id of the user who owns the organization.
-
name string true
needs document true Document with what are the objectives of the organization through the application, such as finding volunteers, staff, investors and donors.
-
global boolean false Flag to indicate wheter this organization is global.
-
urls document false Document holding external urls and refs to the organization such as social media profiles.
-
language string false Field to inidicate the language used by the organization.
-
Property Value Id organization Description Subschema representing an organization (colective) account.
-
Required Min Properties Max Properties Additional properties false Comments
2.1.2.4.3.27 Field type Property Value Name type Technical name Id Type string Description The type of the organization. Can be: Community, Government, Health care provider, Non-profit, Other, R&D, Startup, Traditional Company and University. All names are store in lowercase only.
-
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum startup,traditional company,community,government,r&d,non-profit,university,health care provider,other Sample Comments
2.1.2.4.3.28 Field industry Property Value Name industry Technical name Id Type string Description Industry from which the organization participates. Plan is for this values to be scraped from linkedin industries.
-
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.4.3.29 Field ownerId Property Value Name ownerId Technical name Id Type objectId Description _id of the user who owns the organization.
-
Dependencies Required true Primary key false Foreign collection users Foreign field _id Relationship type Foreign Key Default Sample Comments
2.1.2.4.3.30 Field name Property Value Name name Technical name Id Type string Description Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.4.3.31 Field needs Parent field: urls
Child field(s):
Field Type Req Key Description Comments volunteers boolean true Flag to indicate wheter the organization is seeking volunteers through the app.
-
donations boolean true Flag to indicate wheter the organization is seeking donations through the app.
-
staff boolean true Flag to indicate wheter the organization is seeking staff through the app.
-
other boolean true Flag to indicate wheter the organization is seeking other needs through the app.
-
Property Value Name needs Technical name Id Type document Description Document with what are the objectives of the organization through the application, such as finding volunteers, staff, investors and donors.
-
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type DBRef Min Properties Max Properties Additional properties false Comments
2.1.2.4.3.32 Field volunteers Property Value Name volunteers Technical name Id Type boolean Description Flag to indicate wheter the organization is seeking volunteers through the app.
-
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default false Sample true Comments
2.1.2.4.3.33 Field donations Property Value Name donations Technical name Id Type boolean Description Flag to indicate wheter the organization is seeking donations through the app.
-
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default false Sample false Comments
2.1.2.4.3.34 Field staff Property Value Name staff Technical name Id Type boolean Description Flag to indicate wheter the organization is seeking staff through the app.
-
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default false Sample false Comments
2.1.2.4.3.35 Field other Property Value Name other Technical name Id Type boolean Description Flag to indicate wheter the organization is seeking other needs through the app.
-
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default false Sample false Comments
2.1.2.4.3.36 Field global Property Value Name global Technical name Id Type boolean Description Flag to indicate wheter this organization is global.
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default false Sample Comments
2.1.2.4.3.37 Field urls Parent field: subschema
Child field(s):
Field Type Req Key Description Comments linkedin string false URL to organization's Linkedin page.
-
twitter string false URL to organization's Twitter page.
-
website string false URL to organization's website.
-
playstore string false URL to organization's page at Google Play Store.
-
appstore string false URL to organization's page at Apple App Store
-
Property Value Name urls Technical name Id Type document Description Document holding external urls and refs to the organization such as social media profiles.
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type DBRef Min Properties Max Properties Additional properties false Comments
2.1.2.4.3.38 Field linkedin Property Value Name linkedin Technical name Id Type string Description URL to organization's Linkedin page.
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format uri Enum Sample http://linkedin.com/in/myProfile Comments
2.1.2.4.3.39 Field twitter Property Value Name twitter Technical name Id Type string Description URL to organization's Twitter page.
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format uri Enum Sample http://twitter.com/myProfile Comments
2.1.2.4.3.40 Field website Property Value Name website Technical name Id Type string Description URL to organization's website.
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format uri Enum Sample http://mypersonalwebsite.com Comments
2.1.2.4.3.41 Field playstore Property Value Name playstore Technical name Id Type string Description URL to organization's page at Google Play Store.
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format uri Enum Sample http://playstore.com/myOrg Comments
2.1.2.4.3.42 Field appstore Property Value Name appstore Technical name Id Type string Description URL to organization's page at Apple App Store
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format uri Enum Sample http://appstore.com/myOrg Comments
2.1.2.4.3.43 Field language Property Value Name language Technical name Id Type string Description Field to inidicate the language used by the organization.
-
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.4.3.44 Field anyOf Parent field: subschema
Child field(s):
Field Type Req Key Description Comments subschema subschema false Case where the user comes from social networks with a registration that uses email. In this case, the email field is required. This case covers the great majority of currently supported social network authentications.
-
subschema subschema false Case where the user comes from social networks with a registration that allows the use of only the phone. In this case, the phone field is required, and the email isn't.
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default false Sample false Comments
2.1.2.6.3.15 Field otherHelp Property Value Name otherHelp Technical name Id Type boolean Description Flag to indicate wheter the user needs non-medical help, such as getting groceries, medice and etc..
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default false Sample false Comments
2.1.2.6.3.16 Field objectives Parent field: [0] subschema
Child field(s):
Field Type Req Key Description Comments volunteer boolean true Flag to indicate wheter the user wants to volunteer for iniciatives through the app.
+
donate boolean true Flag to indicate wheter the user wants to donate for iniciatives through the app.
+
shareInformation boolean true Flag to indicate wheter the user wants to share information through the app.
+
Property Value Name objectives Technical name Id Type document Description Document with what are the objectives of the user through the application, such as donating, volunteering or sharing information.
+
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type DBRef Min Properties Max Properties Additional properties false Comments
2.1.2.6.3.17 Field volunteer Property Value Name volunteer Technical name Id Type boolean Description Flag to indicate wheter the user wants to volunteer for iniciatives through the app.
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default false Sample false Comments
2.1.2.6.3.18 Field donate Property Value Name donate Technical name Id Type boolean Description Flag to indicate wheter the user wants to donate for iniciatives through the app.
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default false Sample false Comments
2.1.2.6.3.19 Field shareInformation Property Value Name shareInformation Technical name Id Type boolean Description Flag to indicate wheter the user wants to share information through the app.
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default true Sample true Comments
2.1.2.6.3.20 Field urls Parent field: [0] subschema
Child field(s):
Field Type Req Key Description Comments facebook string false URL to user's Facebook page.
+
linkedin string false URL to user's Linkedin page.
+
twitter string false URL to user's Twitter page.
+
github string false URL to user's Github page.
+
website string false URL to user's personal website.
+
Property Value Name urls Technical name Id Type document Description Document holding the user urls to external websites and social networks
+
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type DBRef Min Properties Max Properties Additional properties false Comments
2.1.2.6.3.21 Field facebook Property Value Name facebook Technical name Id Type string Description URL to user's Facebook page.
+
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format uri Enum Sample http://facebook.com/myProfile Comments
2.1.2.6.3.22 Field linkedin Property Value Name linkedin Technical name Id Type string Description URL to user's Linkedin page.
+
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format uri Enum Sample http://linkedin.com/in/myProfile Comments
2.1.2.6.3.23 Field twitter Property Value Name twitter Technical name Id Type string Description URL to user's Twitter page.
+
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format uri Enum Sample http://twitter.com/myProfile Comments
2.1.2.6.3.24 Field github Property Value Name github Technical name Id Type string Description URL to user's Github page.
+
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format uri Enum Sample http://github.com/myProfile Comments
2.1.2.6.3.25 Field website Property Value Name website Technical name Id Type string Description URL to user's personal website.
+
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format uri Enum Sample http://mypersonalwebsite.com Comments
2.1.2.6.3.26 Field [1] subschema Parent field: oneOf
Child field(s):
Field Type Req Key Description Comments type string true The type of the organization. Can be: Community, Government, Health care provider, Non-profit, Other, R&D, Startup, Traditional Company and University. All names are store in lowercase only.
+
industry string true Industry from which the organization participates. Plan is for this values to be scraped from linkedin industries.
+
ownerId objectId true fk _id of the user who owns the organization.
+
name string true
needs document true Document with what are the objectives of the organization through the application, such as finding volunteers, staff, investors and donors.
+
global boolean false Flag to indicate wheter this organization is global.
+
urls document false Document holding external urls and refs to the organization such as social media profiles.
+
language string false Field to inidicate the language used by the organization.
+
Property Value Display name subschema Id organization Description Subschema representing an organization (colective) account.
+
Required Min Properties Max Properties Additional properties false Comments
2.1.2.6.3.27 Field type Property Value Name type Technical name Id Type string Description The type of the organization. Can be: Community, Government, Health care provider, Non-profit, Other, R&D, Startup, Traditional Company and University. All names are store in lowercase only.
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum startup,traditional company,community,government,r&d,non-profit,university,health care provider,other Sample Comments
2.1.2.6.3.28 Field industry Property Value Name industry Technical name Id Type string Description Industry from which the organization participates. Plan is for this values to be scraped from linkedin industries.
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.6.3.29 Field ownerId Property Value Name ownerId Technical name Id Type objectId Description _id of the user who owns the organization.
+
Dependencies Required true Primary key false Foreign collection users Foreign field _id Relationship type Foreign Key Default Sample Comments
2.1.2.6.3.30 Field name Property Value Name name Technical name Id Type string Description Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.6.3.31 Field needs Parent field: [1] subschema
Child field(s):
Field Type Req Key Description Comments volunteers boolean true Flag to indicate wheter the organization is seeking volunteers through the app.
+
donations boolean true Flag to indicate wheter the organization is seeking donations through the app.
+
staff boolean true Flag to indicate wheter the organization is seeking staff through the app.
+
other boolean true Flag to indicate wheter the organization is seeking other needs through the app.
+
Property Value Name needs Technical name Id Type document Description Document with what are the objectives of the organization through the application, such as finding volunteers, staff, investors and donors.
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type DBRef Min Properties Max Properties Additional properties false Comments
2.1.2.6.3.32 Field volunteers Property Value Name volunteers Technical name Id Type boolean Description Flag to indicate wheter the organization is seeking volunteers through the app.
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default false Sample true Comments
2.1.2.6.3.33 Field donations Property Value Name donations Technical name Id Type boolean Description Flag to indicate wheter the organization is seeking donations through the app.
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default false Sample false Comments
2.1.2.6.3.34 Field staff Property Value Name staff Technical name Id Type boolean Description Flag to indicate wheter the organization is seeking staff through the app.
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default false Sample false Comments
2.1.2.6.3.35 Field other Property Value Name other Technical name Id Type boolean Description Flag to indicate wheter the organization is seeking other needs through the app.
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default false Sample false Comments
2.1.2.6.3.36 Field global Property Value Name global Technical name Id Type boolean Description Flag to indicate wheter this organization is global.
+
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default false Sample Comments
2.1.2.6.3.37 Field urls Parent field: [1] subschema
Child field(s):
Field Type Req Key Description Comments linkedin string false URL to organization's Linkedin page.
+
twitter string false URL to organization's Twitter page.
+
website string false URL to organization's website.
+
playstore string false URL to organization's page at Google Play Store.
+
appstore string false URL to organization's page at Apple App Store
+
Property Value Name urls Technical name Id Type document Description Document holding external urls and refs to the organization such as social media profiles.
+
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type DBRef Min Properties Max Properties Additional properties false Comments
2.1.2.6.3.38 Field linkedin Property Value Name linkedin Technical name Id Type string Description URL to organization's Linkedin page.
+
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format uri Enum Sample http://linkedin.com/in/myProfile Comments
2.1.2.6.3.39 Field twitter Property Value Name twitter Technical name Id Type string Description URL to organization's Twitter page.
+
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format uri Enum Sample http://twitter.com/myProfile Comments
2.1.2.6.3.40 Field website Property Value Name website Technical name Id Type string Description URL to organization's website.
+
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format uri Enum Sample http://mypersonalwebsite.com Comments
2.1.2.6.3.41 Field playstore Property Value Name playstore Technical name Id Type string Description URL to organization's page at Google Play Store.
+
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format uri Enum Sample http://playstore.com/myOrg Comments
2.1.2.6.3.42 Field appstore Property Value Name appstore Technical name Id Type string Description URL to organization's page at Apple App Store
+
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format uri Enum Sample http://appstore.com/myOrg Comments
2.1.2.6.3.43 Field language Property Value Name language Technical name Id Type string Description Field to inidicate the language used by the organization.
+
Dependencies Required false Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
2.1.2.6.3.44 Field anyOf Parent field: users
Child field(s):
Field Type Req Key Description Comments subschema subschema false Case where the user comes from social networks with a registration that uses email. In this case, the email field is required. This case covers the great majority of currently supported social network authentications.
+
subschema subschema false Case where the user comes from social networks with a registration that allows the use of only the phone. In this case, the phone field is required, and the email isn't.
An example of ocial network that falls into this case is Twitter.
-
Property Value Choice anyOf
2.1.2.4.3.45 Field [6] Parent field: subschema
Child field(s):
Field Type Req Key Description Comments email string true User's email validated by a regex pattern.
-
Property Value Id emailPK Description Case where the user comes from social networks with a registration that uses email. In this case, the email field is required. This case covers the great majority of currently supported social network authentications.
-
Required Min Properties Max Properties Additional properties true Comments
2.1.2.4.3.46 Field email Property Value Name email Technical name Id Type string Description User's email validated by a regex pattern.
-
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format email Enum Sample test_user@fightpandemics.com Comments
2.1.2.4.3.47 Field [1] Parent field: urls
Child field(s):
Field Type Req Key Description Comments phone string true
Property Value Id phonePK Description Case where the user comes from social networks with a registration that allows the use of only the phone. In this case, the phone field is required, and the email isn't.
+
Property Value Choice anyOf Description
Comments
2.1.2.6.3.45 Field [0] subschema Parent field: anyOf
Child field(s):
Field Type Req Key Description Comments email string true User's email validated by a regex pattern.
+
Property Value Display name subschema Id emailPK Description Case where the user comes from social networks with a registration that uses email. In this case, the email field is required. This case covers the great majority of currently supported social network authentications.
+
Required Min Properties Max Properties Additional properties true Comments
2.1.2.6.3.46 Field email Property Value Name email Technical name Id Type string Description User's email validated by a regex pattern.
+
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format email Enum Sample test_user@fightpandemics.com Comments
2.1.2.6.3.47 Field [1] subschema Parent field: anyOf
Child field(s):
Field Type Req Key Description Comments phone string true
Property Value Display name subschema Id phonePK Description Case where the user comes from social networks with a registration that allows the use of only the phone. In this case, the phone field is required, and the email isn't.
An example of ocial network that falls into this case is Twitter.
-
Required Min Properties Max Properties Additional properties false Comments
2.1.2.4.3.48 Field phone Property Value Name phone Technical name Id Type string Description
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
Required Min Properties Max Properties Additional properties false Comments
2.1.2.6.3.48 Field phone Property Value Name phone Technical name Id Type string Description
Dependencies Required true Primary key false Foreign collection Foreign field Relationship type Default Min length Max length Pattern Format Enum Sample Comments
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"title": "users",
@@ -1510,7 +2220,7 @@
"updatedAt",
"authId"
]
-} {
"createdAt": ISODate("2016-04-08T15:06:21.595Z"),
"_id": ObjectId("507f1f77bcf86cd799439011"),
"updatedAt": ISODate("2016-04-08T15:06:21.595Z"),
@@ -1548,7 +2258,7 @@
},
"language": "Lorem",
"email": "test_user@fightpandemics.com"
-} use applicationDB;
db.createCollection( "users",{
"storageEngine": {
@@ -1885,13 +2595,13 @@
},
"validationLevel": "off",
"validationAction": "warn"
-});
Property Value Name PostHasComments Description Relationship between a Post and it's respective Comments made at it. Parent Collection posts Parent field _id Parent Cardinality 1 Child Collection comments Child field postId Child Cardinality n Comments
Property Value Name UserLikesComment Description Relation to represent the User's who liked a Comment.
-
-Even though this is a N-N relation, we opt to store the ids only at the Comment side as an array of _id (with the _id of the users who liked it). Parent Collection users Parent field _id Parent Cardinality n Child Collection comments Child field Child Cardinality n Comments
Property Value Name UserLikesPost Description Relation to represent the User's who liked a Post.
-
-Even though this is a N-N relation, we opt to store the ids only at the Post side as an array of _id (with the _id of the users who liked it). Parent Collection users Parent field _id Parent Cardinality n Child Collection posts Child field Child Cardinality n Comments
Property Value Name fk comments._id to comments.parentId Description Parent Collection comments Parent field _id Parent Cardinality 1 Child Collection comments Child field parentId Child Cardinality 1 Comments
Property Value Name fk users._id to comments.likes Description Parent Collection users Parent field _id Parent Cardinality 1 Child Collection comments Child field likes Child Cardinality 1 Comments
Property Value Name fk users._id to feedbacks.userId Description Parent Collection users Parent field _id Parent Cardinality 1 Child Collection feedbacks Child field userId Child Cardinality 1 Comments
Parent Table Parent field _id
Property Value Name fk users._id to organizations..organization.ownerId Description Relation between an User and an Organization created by him/her. Initially projected as 1-N, with only one User owning the Organization, it is though to later on be evolved into N-N, with many Users being able to manage the Organization with different roles. Parent Collection Parent field _id Parent Cardinality 1 Child Collection Child field Child Cardinality n Comments
Property Value Name fk users._id to posts..author.authorId Description Relation between a User and the Post created by him/her. Parent Collection users Parent field _id Parent Cardinality 1 Child Collection posts Child field id Child Cardinality n Comments
+});
Property Value Name CommentReferencesPost Description Parent Collection comments Parent field _id Parent Cardinality 1 Child Collection comments Child field parentId Child Cardinality 1 Comments
Property Value Name PostHasComments Description Relationship between a Post and it's respective Comments made at it. Parent Collection posts Parent field _id Parent Cardinality 1 Child Collection comments Child field postId Child Cardinality n Comments
Property Value Name ThreadHasMessages Description Parent Collection thread Parent field _id Parent Cardinality 1 Child Collection messages Child field threadId Child Cardinality 1 Comments
Property Value Name UserAuthorsComment Description Parent Collection users Parent field _id Parent Cardinality 1 Child Collection comments Child field likes Child Cardinality 1 Comments
Property Value Name UserAuthorsPost Description Relation between a User and the Post created by him/her. Parent Collection users Parent field _id Parent Cardinality 1 Child Collection posts Child field id Child Cardinality n Comments
Property Value Name UserGivesFeedback Description Parent Collection users Parent field _id Parent Cardinality 1 Child Collection feedbacks Child field userId Child Cardinality 1 Comments
Property Value Name UserLikesComment Description Relation to represent the User's who liked a Comment.
+Even though this is a N-N relation, we opt to store the ids only at the Comment side as an array of _id (with the _id of the users who liked it). Parent Collection users Parent field _id Parent Cardinality n Child Collection comments Child field Child Cardinality n Comments
Property Value Name UserLikesPost Description Relation to represent the User's who liked a Post.
+Even though this is a N-N relation, we opt to store the ids only at the Post side as an array of _id (with the _id of the users who liked it). Parent Collection users Parent field _id Parent Cardinality n Child Collection posts Child field Child Cardinality n Comments
Parent Table Parent field _id
Property Value Name UserOwnsOrganization Description Relation between an User and an Organization created by him/her. Initially projected as 1-N, with only one User owning the Organization, it is though to later on be evolved into N-N, with many Users being able to manage the Organization with different roles. Parent Collection Parent field _id Parent Cardinality 1 Child Collection Child field Child Cardinality n Comments
+
+
-
+