k_manager 0.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.github/workflows/main.yml +31 -0
- data/.gitignore +50 -0
- data/.rspec +3 -0
- data/.rubocop.yml +85 -0
- data/Assessment1.md +127 -0
- data/Assessment2.md +88 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +25 -0
- data/Guardfile +30 -0
- data/LICENSE.txt +21 -0
- data/README.md +82 -0
- data/Rakefile +33 -0
- data/STORIES.md +42 -0
- data/ToDo.md +8 -0
- data/USAGE.md +19 -0
- data/bin/console +16 -0
- data/bin/k +36 -0
- data/bin/kgitsync +76 -0
- data/bin/khotfix +244 -0
- data/bin/setup +11 -0
- data/hooks/pre-commit +87 -0
- data/hooks/update-version +33 -0
- data/k_manager.gemspec +47 -0
- data/lib/k_manager.rb +50 -0
- data/lib/k_manager/configuration/project_config.rb +14 -0
- data/lib/k_manager/create_document.rb +31 -0
- data/lib/k_manager/documents/basic_document.rb +21 -0
- data/lib/k_manager/documents/builder_document.rb +18 -0
- data/lib/k_manager/documents/document_taggable.rb +94 -0
- data/lib/k_manager/documents/model_document.rb +19 -0
- data/lib/k_manager/project.rb +50 -0
- data/lib/k_manager/resources/base_resource.rb +182 -0
- data/lib/k_manager/resources/csv_file_resource.rb +27 -0
- data/lib/k_manager/resources/factories/document_factory.rb +52 -0
- data/lib/k_manager/resources/factories/ruby_document_factory.rb +57 -0
- data/lib/k_manager/resources/file_resource.rb +93 -0
- data/lib/k_manager/resources/json_file_resource.rb +22 -0
- data/lib/k_manager/resources/ruby_file_resource.rb +32 -0
- data/lib/k_manager/resources/unknown_file_resource.rb +22 -0
- data/lib/k_manager/resources/x_resource.rb +243 -0
- data/lib/k_manager/resources/yaml_file_resource.rb +21 -0
- data/lib/k_manager/version.rb +5 -0
- data/lib/k_manager/x_project.rb +698 -0
- data/lib/k_manager/x_project_manager.rb +133 -0
- data/lib/k_manager/x_register.rb +199 -0
- data/lib/k_manager/x_resource_documents/resource_document.rb +51 -0
- metadata +150 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 5e1e2ee281f38810223b80d27b7ed6ba17f6d766c9bc3362925cb781faea6e6f
|
4
|
+
data.tar.gz: cce3bcc06ce095f5f00c55bc60ac47b0ea493930db4ebed635fe106303cf5957
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 7c6154b2a689a193cc88415d89959ca564783b04ee256a74c9a845c3d94102c2ae69be11d47e6cf01cc8e75ca52784d2f4a5b4cb8f373be074112464e7a1da5c
|
7
|
+
data.tar.gz: 70e7121af0c37a4458670b4668e4e8a9f0e4c798e317bca98ccdb27414529b4b7966373f0689a654991eefabdd9af783536aba33691c54b844cc51ade55071c5
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
|
2
|
+
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
|
3
|
+
name: Ruby
|
4
|
+
|
5
|
+
on:
|
6
|
+
push:
|
7
|
+
branches: [ master ]
|
8
|
+
pull_request:
|
9
|
+
branches: [ master ]
|
10
|
+
|
11
|
+
jobs:
|
12
|
+
test:
|
13
|
+
|
14
|
+
runs-on: ubuntu-latest
|
15
|
+
|
16
|
+
steps:
|
17
|
+
- uses: actions/checkout@v2
|
18
|
+
- name: Set up Ruby
|
19
|
+
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
|
20
|
+
# change this to (see https://github.com/ruby/setup-ruby#versioning):
|
21
|
+
uses: ruby/setup-ruby@v1
|
22
|
+
with:
|
23
|
+
ruby-version: 2.7.1
|
24
|
+
- name: Install dependencies
|
25
|
+
run: |
|
26
|
+
gem install bundler -v 2.2.5
|
27
|
+
bundle install
|
28
|
+
- name: Run tests
|
29
|
+
run: bundle exec rspec
|
30
|
+
- name: Run rubocop
|
31
|
+
run: bundle exec rubocop
|
data/.gitignore
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
# Move this into a KLUE SATELITE DOCUMENT
|
2
|
+
# See https://help.github.com/articles/ignoring-files for more about ignoring files.
|
3
|
+
#
|
4
|
+
# If you find yourself ignoring temporary files generated by your text editor
|
5
|
+
# or operating system, you probably want to add a global ignore instead:
|
6
|
+
# git config --global core.excludesfile '~/.gitignore_global'
|
7
|
+
#
|
8
|
+
# The Octocat has a Gist containing some good rules to add to this file.
|
9
|
+
# https://gist.github.com/octocat/9257657
|
10
|
+
|
11
|
+
# Ignore Klue Setup.sh
|
12
|
+
/bin/runonce/
|
13
|
+
k_manager.yml
|
14
|
+
|
15
|
+
/_/
|
16
|
+
/.bundle/
|
17
|
+
/.history/
|
18
|
+
/.yardoc
|
19
|
+
/_yardoc/
|
20
|
+
/coverage/
|
21
|
+
/log/
|
22
|
+
!/log/.keep
|
23
|
+
/doc/
|
24
|
+
/pkg/
|
25
|
+
/spec/reports/
|
26
|
+
/tmp/
|
27
|
+
!/tmp/.keep
|
28
|
+
*.bundle
|
29
|
+
*.so
|
30
|
+
*.o
|
31
|
+
*.a
|
32
|
+
mkmf.log
|
33
|
+
|
34
|
+
# Ruby Version
|
35
|
+
.ruby-version
|
36
|
+
|
37
|
+
# Environment File
|
38
|
+
.env
|
39
|
+
|
40
|
+
# Gems should not use a Gemfile.lock
|
41
|
+
Gemfile.lock
|
42
|
+
|
43
|
+
# RubyGem definitions
|
44
|
+
*.gem
|
45
|
+
|
46
|
+
# rspec failure tracking
|
47
|
+
.rspec_status
|
48
|
+
|
49
|
+
# ByeBug history
|
50
|
+
.byebug_history
|
data/.rspec
ADDED
data/.rubocop.yml
ADDED
@@ -0,0 +1,85 @@
|
|
1
|
+
require: rubocop-rake
|
2
|
+
AllCops:
|
3
|
+
TargetRubyVersion: 2.5
|
4
|
+
DisplayCopNames: true
|
5
|
+
ExtraDetails: true
|
6
|
+
NewCops: enable
|
7
|
+
Exclude:
|
8
|
+
- "_/**/*"
|
9
|
+
- "spec/samples/**/*"
|
10
|
+
|
11
|
+
Metrics/BlockLength:
|
12
|
+
Exclude:
|
13
|
+
- "**/spec/**/*"
|
14
|
+
- "*.gemspec"
|
15
|
+
IgnoredMethods:
|
16
|
+
- configure
|
17
|
+
- context
|
18
|
+
- define
|
19
|
+
- describe
|
20
|
+
- draw
|
21
|
+
- factory
|
22
|
+
- feature
|
23
|
+
- guard
|
24
|
+
- included
|
25
|
+
- it
|
26
|
+
- let
|
27
|
+
- let!
|
28
|
+
- scenario
|
29
|
+
- setup
|
30
|
+
- shared_context
|
31
|
+
- shared_examples
|
32
|
+
- shared_examples_for
|
33
|
+
- transaction
|
34
|
+
|
35
|
+
Metrics/MethodLength:
|
36
|
+
Max: 25
|
37
|
+
|
38
|
+
Layout/LineLength:
|
39
|
+
Max: 200
|
40
|
+
# Ignores annotate output
|
41
|
+
IgnoredPatterns: ['\A# \*\*']
|
42
|
+
IgnoreCopDirectives: true
|
43
|
+
|
44
|
+
Lint/UnusedMethodArgument:
|
45
|
+
AllowUnusedKeywordArguments: true
|
46
|
+
|
47
|
+
Style/Documentation:
|
48
|
+
Enabled: false
|
49
|
+
|
50
|
+
Style/BlockComments:
|
51
|
+
Enabled: false
|
52
|
+
Include:
|
53
|
+
- "**/spec/*"
|
54
|
+
|
55
|
+
# My Preferences - Start
|
56
|
+
Metrics/ClassLength:
|
57
|
+
Enabled: false
|
58
|
+
Metrics/ModuleLength:
|
59
|
+
Exclude:
|
60
|
+
- "**/spec/**/*"
|
61
|
+
Naming/MemoizedInstanceVariableName:
|
62
|
+
Enabled: false
|
63
|
+
Naming/VariableNumber:
|
64
|
+
Exclude:
|
65
|
+
- "**/spec/**/*"
|
66
|
+
Style/EmptyMethod:
|
67
|
+
Exclude:
|
68
|
+
- "**/spec/**/*"
|
69
|
+
Metrics/ParameterLists:
|
70
|
+
Exclude:
|
71
|
+
- "**/spec/**/*"
|
72
|
+
Layout/EmptyLineBetweenDefs:
|
73
|
+
Exclude:
|
74
|
+
- "**/spec/**/*"
|
75
|
+
|
76
|
+
Lint/AmbiguousBlockAssociation:
|
77
|
+
Exclude:
|
78
|
+
- "**/spec/**/*"
|
79
|
+
|
80
|
+
Style/AccessorGrouping:
|
81
|
+
Enabled: false
|
82
|
+
|
83
|
+
Layout/SpaceBeforeComma:
|
84
|
+
Enabled: false
|
85
|
+
# My Preferences - End
|
data/Assessment1.md
ADDED
@@ -0,0 +1,127 @@
|
|
1
|
+
1. Business modelling tools and Technical modelling tools
|
2
|
+
|
3
|
+
Technical modelling tools
|
4
|
+
ERD
|
5
|
+
|
6
|
+
- Entity Relationship Diagram used for Databases
|
7
|
+
|
8
|
+
Tools: Gliffy, Lucid Charts,
|
9
|
+
|
10
|
+
2. Software development methodologies
|
11
|
+
- Agile/
|
12
|
+
- Waterflow
|
13
|
+
- RAD
|
14
|
+
- Extreme XP
|
15
|
+
- Feature Driven
|
16
|
+
- Scrum
|
17
|
+
|
18
|
+
3. Application architecture diagram
|
19
|
+
- N-Tier (Layered) vs - Microservices
|
20
|
+
- Application Architecture Diagram
|
21
|
+
- Integration Architecture Diagram
|
22
|
+
- Deployment Architecture Diagram
|
23
|
+
- DevOps Architecture Diagram
|
24
|
+
- Data Architecture Diagram
|
25
|
+
|
26
|
+
4. Software risk analysis
|
27
|
+
- Estimates, Scope Creep, Stake holder expectations, Low Stake holder engagement,
|
28
|
+
- Requirements / Use Cases
|
29
|
+
- Abuse or security analysis
|
30
|
+
- Unproven Technology
|
31
|
+
- Choice of Infrustruction
|
32
|
+
|
33
|
+
- Cloud, Server/On-Premise/Integrations
|
34
|
+
- UX Design
|
35
|
+
|
36
|
+
- Framwork, Accesibility
|
37
|
+
- Risk analysis
|
38
|
+
|
39
|
+
- Code Quality
|
40
|
+
|
41
|
+
- Anti Patterns,
|
42
|
+
|
43
|
+
- Poor Architecture
|
44
|
+
- Test Design
|
45
|
+
|
46
|
+
- Data edge cases
|
47
|
+
- Static Analysis tools
|
48
|
+
|
49
|
+
- Linters
|
50
|
+
- Pen Testing
|
51
|
+
|
52
|
+
5. Database diagram processes and steps
|
53
|
+
- ERD
|
54
|
+
- Conceptual model
|
55
|
+
- Purpose of database
|
56
|
+
- Monolith vs Microservice
|
57
|
+
- Relational, Object/JSON/NoSql Store, Key/Value Store, Event Sourced
|
58
|
+
6. Design database process and steps
|
59
|
+
- Normalized tables
|
60
|
+
- Entities
|
61
|
+
- Attributes
|
62
|
+
- Relationships, (1-1, 1-m, m-m)
|
63
|
+
- Define cardinality, maximum number of values
|
64
|
+
- Define ordinality, minimum number of values
|
65
|
+
- Lhs can be zero or one or many
|
66
|
+
- Rhs can be zero, one or many
|
67
|
+
- Referential integrity, constraints, indexes
|
68
|
+
7. Implement database database processes and steps
|
69
|
+
- DDL
|
70
|
+
- create database
|
71
|
+
- create table
|
72
|
+
- primary key
|
73
|
+
- attributes
|
74
|
+
- create index and constraints
|
75
|
+
- create foreign key references
|
76
|
+
- create views
|
77
|
+
8. Principles of database-management systems.
|
78
|
+
|
79
|
+
- Shared collection of related data
|
80
|
+
- Data Modeling
|
81
|
+
- Data Storage
|
82
|
+
- Structured Data
|
83
|
+
- Unstructured Data
|
84
|
+
- Transactions (Local or Distributed)
|
85
|
+
- Referential Integrity
|
86
|
+
- Cardinatlity/Ordinality
|
87
|
+
- Distributed Data
|
88
|
+
- Data Warehouses / Big Data
|
89
|
+
- Relational, Object/JSON Store, Key/Value Stores, Event Sourced
|
90
|
+
|
91
|
+
9. Object-oriented programming concepts
|
92
|
+
- Encapsulation, Inheritance, Abstraction, Polymorphism
|
93
|
+
|
94
|
+
10. Characteristics of a programming language (C#)
|
95
|
+
- Object Oriented
|
96
|
+
- Memory Management
|
97
|
+
- Garbage Collection
|
98
|
+
- Type Safe
|
99
|
+
- Compiled to Byte Code
|
100
|
+
- Cross Platform
|
101
|
+
11. Open-source development tools and platforms
|
102
|
+
- Git Hub
|
103
|
+
- VSCode
|
104
|
+
- Bootstrap, Material, Tailwind CSS
|
105
|
+
- Angular, React, Vue
|
106
|
+
12. Input and output requirements & examples
|
107
|
+
- Input
|
108
|
+
- Console, Terminal, Browser, Ports, Devices -
|
109
|
+
Output - Console, Screen, Printer, Devices (3D Printer, Robot), Ports (Database, Message Queue)
|
110
|
+
13. Testing techniques
|
111
|
+
- Unit Testing
|
112
|
+
- Integration Test
|
113
|
+
- Regression Testing
|
114
|
+
- Penn Testing
|
115
|
+
- User Acceptance Testing
|
116
|
+
14. Computer hardware & why it is important in soft dev
|
117
|
+
|
118
|
+
- PC, Mac, Embedded Device, IOT, Mobile (Android, IOS, Tablets)
|
119
|
+
- Operating systems, Kernals, VM's and Dockerization
|
120
|
+
- Provides both a physical devices and virtual environments on which to run applications
|
121
|
+
15. Computer networking components & why it is important in soft dev
|
122
|
+
- Allows for distributed computing
|
123
|
+
- Scalable databases
|
124
|
+
- Scalable services
|
125
|
+
- Provides redundancy and resilience.
|
126
|
+
- Provides external backup stores
|
127
|
+
|
data/Assessment2.md
ADDED
@@ -0,0 +1,88 @@
|
|
1
|
+
# Assessment
|
2
|
+
|
3
|
+
Validate Software
|
4
|
+
|
5
|
+
ICPTPRG520 Validate an application design against specifications
|
6
|
+
|
7
|
+
## PART 1
|
8
|
+
|
9
|
+
1. Develop a proof of concept
|
10
|
+
2. Present the prototype system
|
11
|
+
3. Perform design and code validation
|
12
|
+
4. Document and report validation results
|
13
|
+
|
14
|
+
A. Determine the procedures and tools required to perform
|
15
|
+
|
16
|
+
* Software requirements validation
|
17
|
+
* Database validation
|
18
|
+
* Software design validation
|
19
|
+
* Source code validation
|
20
|
+
* User Interface (UI) validation
|
21
|
+
* Test validation
|
22
|
+
|
23
|
+
B. Now it is time to design and build a prototype.
|
24
|
+
1. Identify a prototyping tool to develop proof of concept
|
25
|
+
2. Identify the use cases from the software requirements.
|
26
|
+
3. Develop a prototype using the selected tool.
|
27
|
+
|
28
|
+
C. Save your word-processed document as VDP_Part1
|
29
|
+
|
30
|
+
## PART 2
|
31
|
+
|
32
|
+
10-15 minutes to present your prototype
|
33
|
+
|
34
|
+
Role Play Participants:
|
35
|
+
Client and Developer.
|
36
|
+
|
37
|
+
1. Identify each use case requirements that you need to fulfil
|
38
|
+
2. Confirm the completeness and correctness of the requirements using appropriate questioning and listening techniques.
|
39
|
+
3. Demonstrate the prototype (from Part 1) to the client and determine whether any further refinements need to be made.
|
40
|
+
4. Record the outcome of the presentation and any changes required in a document.
|
41
|
+
|
42
|
+
## PART 3
|
43
|
+
|
44
|
+
Now you have implement selected use cases, its time for you to validate it.
|
45
|
+
|
46
|
+
Record your validation details
|
47
|
+
- Date
|
48
|
+
- Name
|
49
|
+
- Procedures
|
50
|
+
- Results (including screen shots)
|
51
|
+
|
52
|
+
1. Validate the software design to ensure the design is complete, accurate and feasible.
|
53
|
+
1. Include diagrams, class, erd, activity, seq, flow etc...
|
54
|
+
2. Validate the database structure and elements, inluding screenshots
|
55
|
+
3. Validate the UI design
|
56
|
+
4. Validate the software code for consistency and analysis of the code using 2 static analysis tools (c# and web). Include screen shots
|
57
|
+
|
58
|
+
## PART 4
|
59
|
+
|
60
|
+
Document and report validation results
|
61
|
+
See: Original document for this.
|
62
|
+
|
63
|
+
### Application Requirements
|
64
|
+
|
65
|
+
Sydney club needs a simple membership system.
|
66
|
+
|
67
|
+
System should allow club employees to enter member details.
|
68
|
+
|
69
|
+
Future: Guests can sign-up and manage their membership online via the clubs website and via mobile app.
|
70
|
+
|
71
|
+
## Database
|
72
|
+
|
73
|
+
### Users
|
74
|
+
|
75
|
+
The users table will hold a list of employees who can add new members to the system.
|
76
|
+
|
77
|
+
* email - Valid email that acts as a unique user name
|
78
|
+
* password - hashed value that holds the users password
|
79
|
+
|
80
|
+
### Members
|
81
|
+
|
82
|
+
Members table will store member details
|
83
|
+
|
84
|
+
* First name
|
85
|
+
* Last name
|
86
|
+
* Phone number
|
87
|
+
* Date of Birth
|
88
|
+
|
data/CODE_OF_CONDUCT.md
ADDED
@@ -0,0 +1,74 @@
|
|
1
|
+
# Contributor Covenant Code of Conduct
|
2
|
+
|
3
|
+
## Our Pledge
|
4
|
+
|
5
|
+
In the interest of fostering an open and welcoming environment, we as
|
6
|
+
contributors and maintainers pledge to making participation in our project and
|
7
|
+
our community a harassment-free experience for everyone, regardless of age, body
|
8
|
+
size, disability, ethnicity, gender identity and expression, level of experience,
|
9
|
+
nationality, personal appearance, race, religion, or sexual identity and
|
10
|
+
orientation.
|
11
|
+
|
12
|
+
## Our Standards
|
13
|
+
|
14
|
+
Examples of behavior that contributes to creating a positive environment
|
15
|
+
include:
|
16
|
+
|
17
|
+
- Using welcoming and inclusive language
|
18
|
+
- Being respectful of differing viewpoints and experiences
|
19
|
+
- Gracefully accepting constructive criticism
|
20
|
+
- Focusing on what is best for the community
|
21
|
+
- Showing empathy towards other community members
|
22
|
+
|
23
|
+
Examples of unacceptable behavior by participants include:
|
24
|
+
|
25
|
+
- The use of sexualized language or imagery and unwelcome sexual attention or
|
26
|
+
advances
|
27
|
+
- Trolling, insulting/derogatory comments, and personal or political attacks
|
28
|
+
- Public or private harassment
|
29
|
+
- Publishing others' private information, such as a physical or electronic
|
30
|
+
address, without explicit permission
|
31
|
+
- Other conduct which could reasonably be considered inappropriate in a
|
32
|
+
professional setting
|
33
|
+
|
34
|
+
## Our Responsibilities
|
35
|
+
|
36
|
+
Project maintainers are responsible for clarifying the standards of acceptable
|
37
|
+
behavior and are expected to take appropriate and fair corrective action in
|
38
|
+
response to any instances of unacceptable behavior.
|
39
|
+
|
40
|
+
Project maintainers have the right and responsibility to remove, edit, or
|
41
|
+
reject comments, commits, code, wiki edits, issues, and other contributions
|
42
|
+
that are not aligned to this Code of Conduct, or to ban temporarily or
|
43
|
+
permanently any contributor for other behaviors that they deem inappropriate,
|
44
|
+
threatening, offensive, or harmful.
|
45
|
+
|
46
|
+
## Scope
|
47
|
+
|
48
|
+
This Code of Conduct applies both within project spaces and in public spaces
|
49
|
+
when an individual is representing the project or its community. Examples of
|
50
|
+
representing a project or community include using an official project e-mail
|
51
|
+
address, posting via an official social media account, or acting as an appointed
|
52
|
+
representative at an online or offline event. Representation of a project may be
|
53
|
+
further defined and clarified by project maintainers.
|
54
|
+
|
55
|
+
## Enforcement
|
56
|
+
|
57
|
+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
58
|
+
reported by contacting the project team at david.cruwys@bugcrowd.com. All
|
59
|
+
complaints will be reviewed and investigated and will result in a response that
|
60
|
+
is deemed necessary and appropriate to the circumstances. The project team is
|
61
|
+
obligated to maintain confidentiality with regard to the reporter of an incident.
|
62
|
+
Further details of specific enforcement policies may be posted separately.
|
63
|
+
|
64
|
+
Project maintainers who do not follow or enforce the Code of Conduct in good
|
65
|
+
faith may face temporary or permanent repercussions as determined by other
|
66
|
+
members of the project's leadership.
|
67
|
+
|
68
|
+
## Attribution
|
69
|
+
|
70
|
+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
|
71
|
+
available at [http://contributor-covenant.org/version/1/4][version]
|
72
|
+
|
73
|
+
[homepage]: http://contributor-covenant.org
|
74
|
+
[version]: http://contributor-covenant.org/version/1/4/
|