GithubHelp home page GithubHelp logo

project-managemnet's Introduction

Hackolade image

MongoDB Physical Model

Schema for:

Model name: Project Management

Author: Ali Alaoui

Version:

File name: MongoDB model Project Management.json

File path: D:\Documents\_Dev\Hackolade\Project_3\MongoDB model Project Management.json

Printed On: Sun Apr 11 2021 23:52:57 GMT-0400 (Eastern Daylight Time)

Created with: Hackolade - Visual data modeling for NoSQL and multimodel databases

1. Model
1.1 Model Project Management
1.1.1 Project Management Entity Relationship Diagram

Hackolade image

1.1.2 Project Management Properties
1.1.2.1 Details tab
PropertyValue
Model nameProject Management
Technical name
Description
AuthorAli Alaoui
Version
DB vendorMongoDB
DB versionv4.4
Comments
Lineage
1.1.3 Project Management DB Definitions

2. Databases

2.1 Database Project_Management

Hackolade image

2.1.1 Project_Management Properties
PropertyValue
Database nameProject_Management
Technical name
Activatedtrue
Enable sharding
Description
Comments

2.1.2 Project_Management Collections

2.1.2.1 Collection developer

2.1.2.1.1 developer Tree Diagram

Hackolade image

2.1.2.1.2 developer Properties
PropertyValue
Collection namedeveloper
Technical name
Activatedtrue
Id
Description
DatabaseProject_Management
Capped
Size
Max
Storage engineWiredTiger
Config String
Validation levelOff
Validation actionWarn
Additional properties
Comments
2.1.2.1.3 developer Fields
FieldTypeReqKeyDescriptionComments
_idobjectIdtrue
namestringtruedk
stacksarrayfalse
[0] stackobjectIdfalse
projectsarrayfalse
[0]documentfalse
projectnamearrayfalse
[0] nameobjectIdfalsefk
startdatedatefalsefk
enddatedatefalsefk

2.1.2.1.3.1 Field _id

2.1.2.1.3.1.1 _id Tree Diagram

Hackolade image

2.1.2.1.3.1.2 _id properties
PropertyValue
Name_id
Technical name
Activatedtrue
Id
TypeobjectId
Description
Dependencies
Requiredtrue
Primary keytrue
Foreign collection
Foreign field
Relationship type
Relationship name
Cardinality
Default
Sample
Comments

2.1.2.1.3.2 Field name

2.1.2.1.3.2.1 name Tree Diagram

Hackolade image

2.1.2.1.3.2.2 name properties
PropertyValue
Namename
Technical name
Activatedtrue
Id
Typestring
Description
Dependencies
Requiredtrue
Primary key
Foreign collection
Foreign field
Relationship type
Relationship name
Cardinality
Default
Min length
Max length
Pattern
Format
Enum
Sample
Comments

2.1.2.1.3.3 Field stacks

2.1.2.1.3.3.1 stacks Tree Diagram

Hackolade image

2.1.2.1.3.3.2 stacks Hierarchy

Parent field: developer

Child field(s):

FieldTypeReqKeyDescriptionComments
[0] stackreferencefalse
2.1.2.1.3.3.3 stacks properties
PropertyValue
Namestacks
Technical name
Activatedtrue
Id
Typearray
Description
Dependencies
Required
Primary key
Foreign collection
Foreign field
Relationship type
Relationship name
Cardinality
Min items
Max items
Unique items
Additional itemstrue
Comments

2.1.2.1.3.4 Field [0] stack

2.1.2.1.3.4.1 [0] stack Tree Diagram

Hackolade image

2.1.2.1.3.4.2 [0] stack properties
PropertyValue
Name
Activatedtrue
$ref#/definitions/New Field
Reference typeinternal
Reference description

2.1.2.1.3.5 Field projects

2.1.2.1.3.5.1 projects Tree Diagram

Hackolade image

2.1.2.1.3.5.2 projects Hierarchy

Parent field: developer

Child field(s):

FieldTypeReqKeyDescriptionComments
[0]documentfalse
2.1.2.1.3.5.3 projects properties
PropertyValue
Nameprojects
Technical name
Activatedtrue
Id
Typearray
Description
Dependencies
Required
Primary key
Foreign collection
Foreign field
Relationship type
Relationship name
Cardinality
Min items
Max items
Unique items
Additional itemstrue
Comments

2.1.2.1.3.6 Field [0]

2.1.2.1.3.6.1 [0] Tree Diagram

Hackolade image

2.1.2.1.3.6.2 [0] Hierarchy

Parent field: projects

Child field(s):

FieldTypeReqKeyDescriptionComments
projectnamearrayfalse
startdatedatefalse
enddatedatefalse
2.1.2.1.3.6.3 [0] properties
PropertyValue
Display name
Activatedtrue
Id
Typedocument
Description
Dependencies
Primary key
Foreign collection
Foreign field
Relationship type
Relationship name
Cardinality
DBRef
Min Properties
Max Properties
Additional properties
Comments

2.1.2.1.3.7 Field projectname

2.1.2.1.3.7.1 projectname Tree Diagram

Hackolade image

2.1.2.1.3.7.2 projectname Hierarchy

Parent field: [0]

Child field(s):

FieldTypeReqKeyDescriptionComments
[0] nameobjectIdfalse
2.1.2.1.3.7.3 projectname properties
PropertyValue
Nameprojectname
Technical name
Activatedtrue
Id
Typearray
Description
Dependencies
Required
Primary key
Foreign collection
Foreign field
Relationship type
Relationship name
Cardinality
Min items
Max items
Unique items
Additional itemstrue
Comments

2.1.2.1.3.8 Field [0] name

2.1.2.1.3.8.1 [0] name Tree Diagram

Hackolade image

2.1.2.1.3.8.2 [0] name properties
PropertyValue
Display namename
Activatedtrue
Id
TypeobjectId
Description
Dependencies
Primary key
Foreign collectionproject
Foreign fieldname
Relationship typeForeign Key
Relationship namefk project. to developer.
Cardinality1
Default
Sample
Comments

2.1.2.1.3.9 Field startdate

2.1.2.1.3.9.1 startdate Tree Diagram

Hackolade image

2.1.2.1.3.9.2 startdate properties
PropertyValue
Namestartdate
Technical name
Activatedtrue
Id
Typedate
Description
Dependencies
Required
Primary keyfalse
Foreign collectionproject
Foreign fieldstartdate
Relationship typeForeign Key
Relationship namefk project. to developer.
Cardinality1
Default
Now
Sample
Comments

2.1.2.1.3.10 Field enddate

2.1.2.1.3.10.1 enddate Tree Diagram

Hackolade image

2.1.2.1.3.10.2 enddate properties
PropertyValue
Nameenddate
Technical name
Activatedtrue
Id
Typedate
Description
Dependencies
Required
Primary keyfalse
Foreign collectionproject
Foreign fieldenddate
Relationship typeForeign Key
Relationship namefk project. to developer.
Cardinality1
Default
Now
Sample
Comments
2.1.2.1.4 developer Definitions

2.1.2.1.4.1 Field New Field

2.1.2.1.4.1.1 New Field Tree Diagram

Hackolade image

2.1.2.1.4.1.2 New Field properties
PropertyValue
NameNew Field
Technical name
Id
TypeobjectId
Description
Dependencies
Required
Primary key
Foreign collection
Foreign field
Relationship type
Relationship name
Cardinality
Default
Sample
Comments

2.1.2.1.4.2 Field projectname

2.1.2.1.4.2.1 projectname Tree Diagram

Hackolade image

2.1.2.1.4.2.2 projectname properties
PropertyValue
Nameprojectname
Technical name
Id
TypeobjectId
Description
Dependencies
Required
Primary key
Foreign collection
Foreign field
Relationship type
Relationship name
Cardinality
Default
Sample
Comments
2.1.2.1.5 developer JSON Schema
{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "title": "developer",
    "properties": {
        "_id": {
            "type": "string",
            "pattern": "^[a-fA-F0-9]{24}$"
        },
        "name": {
            "type": "string"
        },
        "stacks": {
            "type": "array",
            "additionalItems": true,
            "items": {
                "$ref": "#/definitions/New Field"
            }
        },
        "projects": {
            "type": "array",
            "additionalItems": true,
            "items": {
                "type": "object",
                "properties": {
                    "projectname": {
                        "type": "array",
                        "additionalItems": true,
                        "items": {
                            "type": "string",
                            "pattern": "^[a-fA-F0-9]{24}$"
                        }
                    },
                    "startdate": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "enddate": {
                        "type": "string",
                        "format": "date-time"
                    }
                }
            }
        }
    },
    "definitions": {
        "New Field": {
            "type": "string",
            "pattern": "^[a-fA-F0-9]{24}$"
        },
        "projectname": {
            "type": "string",
            "pattern": "^[a-fA-F0-9]{24}$"
        }
    },
    "required": [
        "_id",
        "name"
    ]
}
2.1.2.1.6 developer JSON data
{
    "_id": ObjectId("507f1f77bcf86cd799439011"),
    "name": "Lorem",
    "stacks": [
        ObjectId("507f1f77bcf86cd799439011")
    ],
    "projects": [
        {
            "projectname": [
                ObjectId("507f1f77bcf86cd799439011")
            ],
            "startdate": ISODate("2016-04-08T15:06:21.595Z"),
            "enddate": ISODate("2016-04-08T15:06:21.595Z")
        }
    ]
}
2.1.2.1.7 developer Target Script
use Project_Management;

db.createCollection("developer", {
    "storageEngine": {
        "wiredTiger": {}
    },
    "capped": false,
    "validator": {
        "$jsonSchema": {
            "bsonType": "object",
            "title": "developer",
            "properties": {
                "_id": {
                    "bsonType": "objectId"
                },
                "name": {
                    "bsonType": "string"
                },
                "stacks": {
                    "bsonType": "array",
                    "additionalItems": true,
                    "items": {
                        "bsonType": "objectId"
                    }
                },
                "projects": {
                    "bsonType": "array",
                    "additionalItems": true,
                    "items": {
                        "bsonType": "object",
                        "properties": {
                            "projectname": {
                                "bsonType": "array",
                                "additionalItems": true,
                                "items": {
                                    "bsonType": "objectId"
                                }
                            },
                            "startdate": {
                                "bsonType": "date"
                            },
                            "enddate": {
                                "bsonType": "date"
                            }
                        }
                    }
                }
            },
            "required": [
                "_id",
                "name"
            ]
        }
    },
    "validationLevel": "off",
    "validationAction": "warn"
});

2.1.2.2 Collection project

2.1.2.2.1 project Tree Diagram

Hackolade image

2.1.2.2.2 project Properties
PropertyValue
Collection nameproject
Technical name
Activatedtrue
Id
Description
DatabaseProject_Management
Capped
Size
Max
Storage engineWiredTiger
Config String
Validation levelOff
Validation actionWarn
Additional properties
Comments
2.1.2.2.3 project Fields
FieldTypeReqKeyDescriptionComments
_idobjectIdtrue
namestringtruedk
requiredstackarrayfalse
[0] stackobjectIdfalsefk
developersarrayfalse
[0] developerobjectIdfalsefk
startdatedatefalsedk
enddatedatefalsedk

2.1.2.2.3.1 Field _id

2.1.2.2.3.1.1 _id Tree Diagram

Hackolade image

2.1.2.2.3.1.2 _id properties
PropertyValue
Name_id
Technical name
Activatedtrue
Id
TypeobjectId
Description
Dependencies
Requiredtrue
Primary keytrue
Foreign collection
Foreign field
Relationship type
Relationship name
Cardinality
Default
Sample
Comments

2.1.2.2.3.2 Field name

2.1.2.2.3.2.1 name Tree Diagram

Hackolade image

2.1.2.2.3.2.2 name properties
PropertyValue
Namename
Technical name
Activatedtrue
Id
Typestring
Description
Dependencies
Requiredtrue
Primary key
Foreign collection
Foreign field
Relationship type
Relationship name
Cardinality
Default
Min length
Max length
Pattern
Format
Enum
Sample
Comments

2.1.2.2.3.3 Field requiredstack

2.1.2.2.3.3.1 requiredstack Tree Diagram

Hackolade image

2.1.2.2.3.3.2 requiredstack Hierarchy

Parent field: project

Child field(s):

FieldTypeReqKeyDescriptionComments
[0] stackobjectIdfalse
2.1.2.2.3.3.3 requiredstack properties
PropertyValue
Namerequiredstack
Technical name
Activatedtrue
Id
Typearray
Description
Dependencies
Required
Primary key
Foreign collection
Foreign field
Relationship type
Relationship name
Cardinality
Min items
Max items
Unique items
Additional itemstrue
Comments

2.1.2.2.3.4 Field [0] stack

2.1.2.2.3.4.1 [0] stack Tree Diagram

Hackolade image

2.1.2.2.3.4.2 [0] stack properties
PropertyValue
Display namestack
Activatedtrue
Id
TypeobjectId
Description
Dependencies
Primary key
Foreign collectionstack
Foreign fieldname
Relationship typeForeign Key
Relationship namefk stack. to project.
Cardinality1..n
Default
Sample
Comments

2.1.2.2.3.5 Field developers

2.1.2.2.3.5.1 developers Tree Diagram

Hackolade image

2.1.2.2.3.5.2 developers Hierarchy

Parent field: project

Child field(s):

FieldTypeReqKeyDescriptionComments
[0] developerobjectIdfalse
2.1.2.2.3.5.3 developers properties
PropertyValue
Namedevelopers
Technical name
Activatedtrue
Id
Typearray
Description
Dependencies
Required
Primary key
Foreign collection
Foreign field
Relationship type
Relationship name
Cardinality
Min items
Max items
Unique items
Additional itemstrue
Comments

2.1.2.2.3.6 Field [0] developer

2.1.2.2.3.6.1 [0] developer Tree Diagram

Hackolade image

2.1.2.2.3.6.2 [0] developer properties
PropertyValue
Display namedeveloper
Activatedtrue
Id
TypeobjectId
Description
Dependencies
Primary key
Foreign collectiondeveloper
Foreign fieldname
Relationship typeForeign Key
Relationship namefk developer. to project.
Cardinality1..n
Default
Sample
Comments

2.1.2.2.3.7 Field startdate

2.1.2.2.3.7.1 startdate Tree Diagram

Hackolade image

2.1.2.2.3.7.2 startdate properties
PropertyValue
Namestartdate
Technical name
Activatedtrue
Id
Typedate
Description
Dependencies
Required
Primary keyfalse
Foreign collection
Foreign field
Relationship type
Relationship name
Cardinality
Default
Now
Sample
Comments

2.1.2.2.3.8 Field enddate

2.1.2.2.3.8.1 enddate Tree Diagram

Hackolade image

2.1.2.2.3.8.2 enddate properties
PropertyValue
Nameenddate
Technical name
Activatedtrue
Id
Typedate
Description
Dependencies
Required
Primary keyfalse
Foreign collection
Foreign field
Relationship type
Relationship name
Cardinality
Default
Now
Sample
Comments
2.1.2.2.4 project JSON Schema
{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "title": "project",
    "properties": {
        "_id": {
            "type": "string",
            "pattern": "^[a-fA-F0-9]{24}$"
        },
        "name": {
            "type": "string"
        },
        "requiredstack": {
            "type": "array",
            "additionalItems": true,
            "items": {
                "type": "string",
                "pattern": "^[a-fA-F0-9]{24}$"
            }
        },
        "developers": {
            "type": "array",
            "additionalItems": true,
            "items": {
                "type": "string",
                "pattern": "^[a-fA-F0-9]{24}$"
            }
        },
        "startdate": {
            "type": "string",
            "format": "date-time"
        },
        "enddate": {
            "type": "string",
            "format": "date-time"
        }
    },
    "required": [
        "_id",
        "name"
    ]
}
2.1.2.2.5 project JSON data
{
    "_id": ObjectId("507f1f77bcf86cd799439011"),
    "name": "Lorem",
    "requiredstack": [
        ObjectId("507f1f77bcf86cd799439011")
    ],
    "developers": [
        ObjectId("507f1f77bcf86cd799439011")
    ],
    "startdate": ISODate("2016-04-08T15:06:21.595Z"),
    "enddate": ISODate("2016-04-08T15:06:21.595Z")
}
2.1.2.2.6 project Target Script
use Project_Management;

db.createCollection("project", {
    "storageEngine": {
        "wiredTiger": {}
    },
    "capped": false,
    "validator": {
        "$jsonSchema": {
            "bsonType": "object",
            "title": "project",
            "properties": {
                "_id": {
                    "bsonType": "objectId"
                },
                "name": {
                    "bsonType": "string"
                },
                "requiredstack": {
                    "bsonType": "array",
                    "additionalItems": true,
                    "items": {
                        "bsonType": "objectId"
                    }
                },
                "developers": {
                    "bsonType": "array",
                    "additionalItems": true,
                    "items": {
                        "bsonType": "objectId"
                    }
                },
                "startdate": {
                    "bsonType": "date"
                },
                "enddate": {
                    "bsonType": "date"
                }
            },
            "required": [
                "_id",
                "name"
            ]
        }
    },
    "validationLevel": "off",
    "validationAction": "warn"
});

2.1.2.3 Collection stack

2.1.2.3.1 stack Tree Diagram

Hackolade image

2.1.2.3.2 stack Properties
PropertyValue
Collection namestack
Technical name
Activatedtrue
Id
Description
DatabaseProject_Management
Capped
Size
Max
Storage engineWiredTiger
Config String
Validation levelOff
Validation actionWarn
Additional properties
Comments
2.1.2.3.3 stack Fields
FieldTypeReqKeyDescriptionComments
_idobjectIdtrue
namestringtruedk
descriptionstringfalse

2.1.2.3.3.1 Field _id

2.1.2.3.3.1.1 _id Tree Diagram

Hackolade image

2.1.2.3.3.1.2 _id properties
PropertyValue
Name_id
Technical name
Activatedtrue
Id
TypeobjectId
Description
Dependencies
Requiredtrue
Primary keytrue
Foreign collectiondeveloper
Foreign field
Relationship type
Relationship name
Cardinality
Default
Sample
Comments

2.1.2.3.3.2 Field name

2.1.2.3.3.2.1 name Tree Diagram

Hackolade image

2.1.2.3.3.2.2 name properties
PropertyValue
Namename
Technical name
Activatedtrue
Id
Typestring
Description
Dependencies
Requiredtrue
Primary key
Foreign collection
Foreign field
Relationship type
Relationship name
Cardinality
Default
Min length
Max length
Pattern
Format
Enum
SampleJavaScript
Comments

2.1.2.3.3.3 Field description

2.1.2.3.3.3.1 description Tree Diagram

Hackolade image

2.1.2.3.3.3.2 description properties
PropertyValue
Namedescription
Technical name
Activatedtrue
Id
Typestring
Description
Dependencies
Required
Primary key
Foreign collection
Foreign field
Relationship type
Relationship name
Cardinality
Default
Min length
Max length
Pattern
Format
Enum
Sample
Comments
2.1.2.3.4 stack JSON Schema
{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "title": "stack",
    "properties": {
        "_id": {
            "type": "string",
            "pattern": "^[a-fA-F0-9]{24}$"
        },
        "name": {
            "type": "string"
        },
        "description": {
            "type": "string"
        }
    },
    "required": [
        "_id",
        "name"
    ]
}
2.1.2.3.5 stack JSON data
{
    "_id": ObjectId("507f1f77bcf86cd799439011"),
    "name": "JavaScript",
    "description": "Lorem"
}
2.1.2.3.6 stack Target Script
use Project_Management;

db.createCollection("stack", {
    "storageEngine": {
        "wiredTiger": {}
    },
    "capped": false,
    "validator": {
        "$jsonSchema": {
            "bsonType": "object",
            "title": "stack",
            "properties": {
                "_id": {
                    "bsonType": "objectId"
                },
                "name": {
                    "bsonType": "string"
                },
                "description": {
                    "bsonType": "string"
                }
            },
            "required": [
                "_id",
                "name"
            ]
        }
    },
    "validationLevel": "off",
    "validationAction": "warn"
});

3. Relationships

3.1 Relationship fk developer. to project.

3.1.1 fk developer. to project. Diagram
Parent TableParent field
developername

Hackolade imageHackolade image

Child TableChild field
projectdevelopers.[-1]
3.1.2 fk developer. to project. Properties
PropertyValue
Namefk developer. to project.
Description
Parent Collectiondeveloper
Parent fieldname
Parent Cardinality1
Child Collectionproject
Child field
Child Cardinality1..n
Comments

3.2 Relationship fk project. to developer.

3.2.1 fk project. to developer. Diagram
Parent TableParent field
projectname

Hackolade imageHackolade image

Child TableChild field
developerprojects.[-1].projectname.[-1]
3.2.2 fk project. to developer. Properties
PropertyValue
Namefk project. to developer.
Description
Parent Collectionproject
Parent fieldname
Parent Cardinality1
Child Collectiondeveloper
Child field
Child Cardinality1
Comments

3.3 Relationship fk project. to developer.

3.3.1 fk project. to developer. Diagram
Parent TableParent field
projectstartdate

Hackolade imageHackolade image

Child TableChild field
developerprojects.[-1].startdate
3.3.2 fk project. to developer. Properties
PropertyValue
Namefk project. to developer.
Description
Parent Collectionproject
Parent fieldstartdate
Parent Cardinality1
Child Collectiondeveloper
Child fieldstartdate
Child Cardinality1
Comments

3.4 Relationship fk project. to developer.

3.4.1 fk project. to developer. Diagram
Parent TableParent field
projectenddate

Hackolade imageHackolade image

Child TableChild field
developerprojects.[-1].enddate
3.4.2 fk project. to developer. Properties
PropertyValue
Namefk project. to developer.
Description
Parent Collectionproject
Parent fieldenddate
Parent Cardinality1
Child Collectiondeveloper
Child fieldenddate
Child Cardinality1
Comments

3.5 Relationship fk stack. to project.

3.5.1 fk stack. to project. Diagram
Parent TableParent field
stackname

Hackolade imageHackolade image

Child TableChild field
projectrequiredstack.[-1]
3.5.2 fk stack. to project. Properties
PropertyValue
Namefk stack. to project.
Description
Parent Collectionstack
Parent fieldname
Parent Cardinality1
Child Collectionproject
Child field
Child Cardinality1..n
Comments

3.6 Relationship fk stacks. to developer.

3.6.1 fk stacks. to developer. Diagram
Parent TableParent field
stackname

Hackolade imageHackolade image

Child TableChild field
developerstacks.'New Field'.[-1], stacks.'New Field'
3.6.2 fk stacks. to developer. Properties
PropertyValue
Namefk stacks. to developer.
Description
Parent Collectionstack
Parent fieldname
Parent Cardinality1
Child Collectiondeveloper
Child field, New Field
Child Cardinality1..n
Comments

project-managemnet's People

Contributors

mygithub23 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.