fli_video 0.1.1 → 0.1.3
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 +4 -4
- data/.rubocop.yml +5 -1
- data/CHANGELOG.md +15 -0
- data/docs/project-new.md +184 -0
- data/lib/fli_video/version.rb +1 -1
- data/package-lock.json +2 -2
- data/package.json +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3e83ceea468e4b8d69338857651f88d29537aa6479b9ab561c6eeb1d5f589dad
|
4
|
+
data.tar.gz: 58019675fc035f63893a7d08a453f8ec4e66792b5aaabfe3a1e356d01e95364e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3bd5a0c830b3c980a18504760f76dc5f78532e96a8c9b6e02ecb369a0ac223bc2581f827960881d2ad3c164c4f60650b4b57542d5a99fa264ed0fe2f6f930797
|
7
|
+
data.tar.gz: 517d7ec5fda3eac665bdae685d05c186dabaeb9b63dc52d9c64fdc188855f0029ac6ccfda0fe8087b570f647a2728aac7327536bb1d085ea4cd25bbaa7edaf17
|
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,18 @@
|
|
1
|
+
## [0.1.2](https://github.com/klueless-io/fli_video/compare/v0.1.1...v0.1.2) (2024-11-30)
|
2
|
+
|
3
|
+
|
4
|
+
### Bug Fixes
|
5
|
+
|
6
|
+
* cop rule update ([2572a7d](https://github.com/klueless-io/fli_video/commit/2572a7df36195d44579a77b3dc85112fa0ff4d5d))
|
7
|
+
* update with new project cli requirments ([0454744](https://github.com/klueless-io/fli_video/commit/0454744eb5d5e3d76271c763fc7b520babfc5556))
|
8
|
+
|
9
|
+
## [0.1.1](https://github.com/klueless-io/fli_video/compare/v0.1.0...v0.1.1) (2024-05-20)
|
10
|
+
|
11
|
+
|
12
|
+
### Bug Fixes
|
13
|
+
|
14
|
+
* update requirements ([0643756](https://github.com/klueless-io/fli_video/commit/0643756ab209ff9d084bcc32837f7783344b9286))
|
15
|
+
|
1
16
|
# [0.1.0](https://github.com/klueless-io/fli_video/compare/v0.0.2...v0.1.0) (2023-12-24)
|
2
17
|
|
3
18
|
|
data/docs/project-new.md
ADDED
@@ -0,0 +1,184 @@
|
|
1
|
+
# Requirements Document for Project Management Tool
|
2
|
+
|
3
|
+
## 1. Overview
|
4
|
+
This document outlines the requirements for a command-line tool and supporting backend system for creating, renaming, and managing projects across multiple business units. The tool uses sequential naming conventions and integrates with a web server API for centralized management. This system is designed for a single-user environment.
|
5
|
+
|
6
|
+
## 2. Business Objectives
|
7
|
+
- Automate project creation, renaming, and listing for multiple business units.
|
8
|
+
- Maintain consistent naming conventions with sequential identifiers.
|
9
|
+
- Enforce folder structures based on project types.
|
10
|
+
- Separate business rules between local and server environments for scalability.
|
11
|
+
|
12
|
+
## 3. Functional Requirements
|
13
|
+
|
14
|
+
### 3.1 Command-Line Tool
|
15
|
+
The tool provides the following commands:
|
16
|
+
|
17
|
+
#### 3.1.1 Creating a New Project
|
18
|
+
**Command:**
|
19
|
+
```
|
20
|
+
ad-project-new <business_unit> <project_type> "<project_name>"
|
21
|
+
```
|
22
|
+
**Example:**
|
23
|
+
```
|
24
|
+
ad-project-new appydave video "hello-world"
|
25
|
+
```
|
26
|
+
**Expected Outcome:**
|
27
|
+
- Generates a new project folder.
|
28
|
+
- Assigns a sequential identifier, e.g., `a05-hello-world`.
|
29
|
+
- Logs the output:
|
30
|
+
```yaml
|
31
|
+
Project created: a05-hello-world
|
32
|
+
```
|
33
|
+
|
34
|
+
#### 3.1.2 Renaming a Project
|
35
|
+
**Command:**
|
36
|
+
```
|
37
|
+
ad-project-rename <business_unit> <project_type> <project_id> "<new_project_name>"
|
38
|
+
```
|
39
|
+
**Example:**
|
40
|
+
```
|
41
|
+
ad-project-rename appydave video a05 "rails8"
|
42
|
+
```
|
43
|
+
**Expected Outcome:**
|
44
|
+
- Updates the project folder name to `a05-rails8`.
|
45
|
+
- Logs the change:
|
46
|
+
```yaml
|
47
|
+
Project renamed: a05-rails8
|
48
|
+
```
|
49
|
+
|
50
|
+
#### 3.1.3 Listing Projects
|
51
|
+
**Command for all projects:**
|
52
|
+
```
|
53
|
+
ad-project-list <business_unit> <project_type>
|
54
|
+
```
|
55
|
+
**Command for last N projects:**
|
56
|
+
```
|
57
|
+
ad-project-list <business_unit> <project_type> -l <number>
|
58
|
+
```
|
59
|
+
**Examples:**
|
60
|
+
|
61
|
+
**All Projects:**
|
62
|
+
```
|
63
|
+
ad-project-list appydave video
|
64
|
+
```
|
65
|
+
**Output:**
|
66
|
+
```css
|
67
|
+
a01-intro-video
|
68
|
+
a02-tutorial
|
69
|
+
a03-promo-video
|
70
|
+
```
|
71
|
+
|
72
|
+
**Last 3 Projects:**
|
73
|
+
```
|
74
|
+
ad-project-list appydave video -l 3
|
75
|
+
```
|
76
|
+
**Output:**
|
77
|
+
```css
|
78
|
+
a03-promo-video
|
79
|
+
a02-tutorial
|
80
|
+
a01-intro-video
|
81
|
+
```
|
82
|
+
|
83
|
+
## 4. Non-Functional Requirements
|
84
|
+
- Must work as a single-user tool on the local environment.
|
85
|
+
- The command-line tool will interact with the backend via RESTful APIs to ensure database consistency.
|
86
|
+
|
87
|
+
## 5. Entities and Database Design
|
88
|
+
|
89
|
+
### 5.1 Entities
|
90
|
+
- **Business Unit**: Represents channels like "AppyDave" or "AITLDR".
|
91
|
+
- **Project Type**: Defines types like "Video" or "Article".
|
92
|
+
- **Project**: Tracks individual projects, including name and sequential identifier.
|
93
|
+
- **Folder Structure**: Stores default folders for each project type.
|
94
|
+
|
95
|
+
### 5.2 Entity Relationship Diagram (ERD)
|
96
|
+
**ERD Diagram Description:**
|
97
|
+
- **Business Unit** links to **Project** (one-to-many relationship).
|
98
|
+
- **Project Type** links to **Folder Structure** (one-to-one relationship).
|
99
|
+
- **Project** has attributes like ID, Name, and Type.
|
100
|
+
|
101
|
+
(An actual diagram would be helpful here; I can generate one if needed.)
|
102
|
+
|
103
|
+
## 6. System Architecture
|
104
|
+
|
105
|
+
### 6.1 Web Server
|
106
|
+
- Maintains the central database.
|
107
|
+
- Provides RESTful APIs:
|
108
|
+
- `POST /projects`: Create a new project.
|
109
|
+
- `PUT /projects/:id`: Rename a project.
|
110
|
+
- `GET /projects`: List projects.
|
111
|
+
|
112
|
+
### 6.2 Command-Line Tool
|
113
|
+
- Acts as a local interface to execute commands.
|
114
|
+
- Interacts with the web server for updates and fetching data.
|
115
|
+
|
116
|
+
## 7. Example API Interactions
|
117
|
+
|
118
|
+
### 7.1 Create a New Project
|
119
|
+
**Request:**
|
120
|
+
```
|
121
|
+
POST /projects
|
122
|
+
Content-Type: application/json
|
123
|
+
|
124
|
+
{
|
125
|
+
"business_unit": "appydave",
|
126
|
+
"project_type": "video",
|
127
|
+
"project_name": "hello-world"
|
128
|
+
}
|
129
|
+
```
|
130
|
+
**Response:**
|
131
|
+
```json
|
132
|
+
{
|
133
|
+
"status": "success",
|
134
|
+
"project_id": "a05",
|
135
|
+
"project_name": "a05-hello-world"
|
136
|
+
}
|
137
|
+
```
|
138
|
+
|
139
|
+
### 7.2 Rename a Project
|
140
|
+
**Request:**
|
141
|
+
```
|
142
|
+
PUT /projects/a05
|
143
|
+
Content-Type: application/json
|
144
|
+
|
145
|
+
{
|
146
|
+
"new_name": "rails8"
|
147
|
+
}
|
148
|
+
```
|
149
|
+
**Response:**
|
150
|
+
```json
|
151
|
+
{
|
152
|
+
"status": "success",
|
153
|
+
"project_name": "a05-rails8"
|
154
|
+
}
|
155
|
+
```
|
156
|
+
|
157
|
+
### 7.3 List Projects
|
158
|
+
**Request:**
|
159
|
+
```
|
160
|
+
GET /projects?business_unit=appydave&project_type=video&limit=3
|
161
|
+
```
|
162
|
+
**Response:**
|
163
|
+
```json
|
164
|
+
[
|
165
|
+
{
|
166
|
+
"id": "a03",
|
167
|
+
"name": "promo-video"
|
168
|
+
},
|
169
|
+
{
|
170
|
+
"id": "a02",
|
171
|
+
"name": "tutorial"
|
172
|
+
},
|
173
|
+
{
|
174
|
+
"id": "a01",
|
175
|
+
"name": "intro-video"
|
176
|
+
}
|
177
|
+
]
|
178
|
+
```
|
179
|
+
|
180
|
+
## 8. Corrections and Finalized Decisions
|
181
|
+
- Sequential identifiers are three letters followed by a number (e.g., `a05`), followed by the project name.
|
182
|
+
- Output logs should always include the project identifier for user reference.
|
183
|
+
- Simplified to focus on a single-user environment.
|
184
|
+
|
data/lib/fli_video/version.rb
CHANGED
data/package-lock.json
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "fli_video",
|
3
|
-
"version": "0.1.
|
3
|
+
"version": "0.1.3",
|
4
4
|
"lockfileVersion": 3,
|
5
5
|
"requires": true,
|
6
6
|
"packages": {
|
7
7
|
"": {
|
8
8
|
"name": "fli_video",
|
9
|
-
"version": "0.1.
|
9
|
+
"version": "0.1.3",
|
10
10
|
"devDependencies": {
|
11
11
|
"@klueless-js/semantic-release-rubygem": "github:klueless-js/semantic-release-rubygem",
|
12
12
|
"@semantic-release/changelog": "^6.0.3",
|
data/package.json
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fli_video
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Cruwys
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-11-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: k_log
|
@@ -77,6 +77,7 @@ files:
|
|
77
77
|
- docs/generated/application-structure.json
|
78
78
|
- docs/generated/features-and-components.md
|
79
79
|
- docs/generated/technical-design-and-features.md
|
80
|
+
- docs/project-new.md
|
80
81
|
- docs/technical-specifications.md
|
81
82
|
- fli.rb
|
82
83
|
- lib/fli_video.rb
|
@@ -96,8 +97,8 @@ licenses:
|
|
96
97
|
- MIT
|
97
98
|
metadata:
|
98
99
|
homepage_uri: http://appydave.com/gems/fli_video
|
99
|
-
source_code_uri: https://github.com/
|
100
|
-
changelog_uri: https://github.com/
|
100
|
+
source_code_uri: https://github.com/appydave/fli_video
|
101
|
+
changelog_uri: https://github.com/appydave/fli_video/blob/main/CHANGELOG.md
|
101
102
|
rubygems_mfa_required: 'true'
|
102
103
|
post_install_message:
|
103
104
|
rdoc_options: []
|