@operationcaribbeansummer/wikiagorasocial-utils 4.0.0 → 4.1.0
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.
- package/README.md +174 -625
- package/package.json +3 -57
package/README.md
CHANGED
|
@@ -1,625 +1,174 @@
|
|
|
1
|
-
# WikiAgoraSocial-utils
|
|
2
|
-
|
|
3
|
-
<div align="center">
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
[
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
[
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
[
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
[
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
....see [technologies.md](/docs/technologies.md) for more detailed info and references
|
|
177
|
-
|
|
178
|
-
## Requirements
|
|
179
|
-
|
|
180
|
-
## ???Installation
|
|
181
|
-
|
|
182
|
-
### Commands
|
|
183
|
-
|
|
184
|
-
## ??Configuration
|
|
185
|
-
|
|
186
|
-
### Settings Files
|
|
187
|
-
|
|
188
|
-
## Dependencies
|
|
189
|
-
|
|
190
|
-
## 🤸Quick Start
|
|
191
|
-
|
|
192
|
-
Follow these steps to set up the project locally on your machine.
|
|
193
|
-
|
|
194
|
-
**Prerequisites**:
|
|
195
|
-
Make sure you have the following installed on your machine:
|
|
196
|
-
Git, Node.js, npm, MongoDB, Docker, Redis, Kafka.
|
|
197
|
-
|
|
198
|
-
**Cloning the Repository**:
|
|
199
|
-
|
|
200
|
-
```bash
|
|
201
|
-
git clone https://github.com/OperationCaribbeanSummer/WikiAgoraSocial-utils.git
|
|
202
|
-
cd WikiAgoraSocial-utils
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
## Requirements
|
|
206
|
-
|
|
207
|
-
Complete installation requirements can be found in the documentation under Installation Requirements. See [requirements.txt](/requirements.txt) or `requirements`, `devRequirements` at [package.json](/package.json).
|
|
208
|
-
|
|
209
|
-
**requirements**:
|
|
210
|
-
|
|
211
|
-
- **Node.js** - <https://nodejs.org/en/download>
|
|
212
|
-
- **npm** - <https://www.npmjs.com> or **pnpm** <https://pnpm.io>
|
|
213
|
-
- **MongoDB** - <https://www.mongodb.com>
|
|
214
|
-
- **Redis** - <https://redis.io> (recommended via Docker)
|
|
215
|
-
- **Kafka** - <https://kafka.apache.org/downloads> (recommended via Docker)
|
|
216
|
-
- **Docker** - <https://docs.docker.com/desktop>
|
|
217
|
-
|
|
218
|
-
**devRequirements**:
|
|
219
|
-
|
|
220
|
-
- **Git** - <https://git-scm.com/downloads>
|
|
221
|
-
- **Bruno** - <https://usebruno.com>
|
|
222
|
-
- **GitHub-CLI** - <https://cli.github.com>
|
|
223
|
-
- **VSCode** - <https://code.visualstudio.com>
|
|
224
|
-
|
|
225
|
-
## 🛠️Installation
|
|
226
|
-
|
|
227
|
-
The [INSTALL.md](./.github/INSTALL.md) file contains the detailed installation instructions.
|
|
228
|
-
|
|
229
|
-
**Simpless way**: Download (`update-or-intall.bat` or `update-or-intall.sh`), copy to your preferred directory and execute this scrypt!
|
|
230
|
-
|
|
231
|
-
- [update-or-intall.bat](https://github.com/OperationCaribbeanSummer/WikiAgoraSocial-utils/tree/main/scripts/update-or-intall.bat) for Windows<!-- TODO: links de archivos de github-->
|
|
232
|
-
- [update-or-intall.sh](https://github.com/OperationCaribbeanSummer/WikiAgoraSocial-utils/tree/main/scripts/update-or-intall.sh) for Linux, Mac<!-- TODO: links de archivos de github-->
|
|
233
|
-
|
|
234
|
-
**Installation**:
|
|
235
|
-
|
|
236
|
-
1. Make sure you have the required software installed. (See [requirements.txt](/requirements.txt))
|
|
237
|
-
1. Clone this repository - run `git clone https://github.com/OperationCaribbeanSummer/WikiAgoraSocial-utils.git`
|
|
238
|
-
1. Go to the directory - run `cd WikiAgoraSocial-utils`
|
|
239
|
-
1. Install dependencies - run `npm install`
|
|
240
|
-
1. Configure the project
|
|
241
|
-
1. Create a .env file by copying the `.env.example` file - run `cp .env.example .env`
|
|
242
|
-
1. Configure your settings
|
|
243
|
-
1. Seed your data base - run `npm run seed` (optional but recommended)
|
|
244
|
-
1. Run `npm start`
|
|
245
|
-
1. Open the browser at <http://localhost:4444>. Server will connect to MongoDB & run on Port 4444
|
|
246
|
-
|
|
247
|
-
### Commands
|
|
248
|
-
|
|
249
|
-
Useful commands for development availables in package.json:
|
|
250
|
-
|
|
251
|
-
```bash
|
|
252
|
-
npm install # install all needed dependencies
|
|
253
|
-
```
|
|
254
|
-
|
|
255
|
-
```bash
|
|
256
|
-
npm start # run the project in development mode using nodemon so it is restarted when the code changes.
|
|
257
|
-
```
|
|
258
|
-
|
|
259
|
-
```bash
|
|
260
|
-
npm run prod # run the API in production mode
|
|
261
|
-
```
|
|
262
|
-
|
|
263
|
-
```bash
|
|
264
|
-
npm test # test using Jest
|
|
265
|
-
```
|
|
266
|
-
|
|
267
|
-
```bash
|
|
268
|
-
npm lint # lints the code, automatically fixing issues where possible.
|
|
269
|
-
```
|
|
270
|
-
|
|
271
|
-
```bash
|
|
272
|
-
npm run docs # generate API docs
|
|
273
|
-
npm run docs:dev
|
|
274
|
-
npm run docs:build
|
|
275
|
-
npm run docs:preview
|
|
276
|
-
```
|
|
277
|
-
|
|
278
|
-
<!-- TODO: full list of issues at TODO.todo-->
|
|
279
|
-
|
|
280
|
-
```bash
|
|
281
|
-
npm run todo # generate full list of issues at TODO.todo-->
|
|
282
|
-
```
|
|
283
|
-
|
|
284
|
-
## ⚙️Configuration
|
|
285
|
-
|
|
286
|
-
**Set Up Environment Variables** `.env`
|
|
287
|
-
|
|
288
|
-
Create a new file named `.env` in the root of your project and add the following content:
|
|
289
|
-
|
|
290
|
-
```env
|
|
291
|
-
DB_URI=mongodb://localhost:27017/WikiAgora
|
|
292
|
-
PORT=4444
|
|
293
|
-
NODE_ENV=development
|
|
294
|
-
JWT_SECRET=44444444444444444444444444444444444444444444
|
|
295
|
-
```
|
|
296
|
-
|
|
297
|
-
Replace the placeholder values with your credentials.
|
|
298
|
-
|
|
299
|
-
### Settings Files
|
|
300
|
-
|
|
301
|
-
Files in the directory `/config/`:
|
|
302
|
-
|
|
303
|
-
`config44.js`
|
|
304
|
-
|
|
305
|
-
`*.config44.js`
|
|
306
|
-
|
|
307
|
-
`*.config44.json`
|
|
308
|
-
|
|
309
|
-
### 📁/📂Project structure
|
|
310
|
-
|
|
311
|
-
## 🕹️Usage
|
|
312
|
-
|
|
313
|
-
**Running the Project**:
|
|
314
|
-
|
|
315
|
-
```bash
|
|
316
|
-
npm start
|
|
317
|
-
```
|
|
318
|
-
|
|
319
|
-
Open [http://localhost:4444](http://localhost:4444/api/v4/WikiAgoraSocial-utils/status) in your browser to view the project.
|
|
320
|
-
|
|
321
|
-
### Tools and IDE
|
|
322
|
-
|
|
323
|
-
[VSCode](https://code.visualstudio.com) editor is recommended plus [settings.json](/.vscode/settings.json) and extensions at [extensions.json](/.vscode/extensions.json), see [tools-and-IDE.md](----/docs/tools-and-IDE.md-----) for more details.
|
|
324
|
-
|
|
325
|
-
**VSCode extensions**:
|
|
326
|
-
|
|
327
|
-
- **code-spell-checker**
|
|
328
|
-
- **vscode-eslint**
|
|
329
|
-
|
|
330
|
-
....see [extensions.json](/.vscode/extensions.json)
|
|
331
|
-
|
|
332
|
-
**Needed or recommended tools**:
|
|
333
|
-
|
|
334
|
-
- **bruno** - Opensource IDE for exploring and testing APIs
|
|
335
|
-
- **docker** - used to automate the deployment of applications in lightweight containers so that applications can work efficiently in different environments in isolation
|
|
336
|
-
- **localtunnel** - exposes your localhost to the world for easy testing and sharing!
|
|
337
|
-
- ....
|
|
338
|
-
|
|
339
|
-
**Browser addons**:
|
|
340
|
-
|
|
341
|
-
- **Vue.js devtools** - https://devtools.vuejs.org/getting-started/features - [firefox](https://addons.mozilla.org/en-US/firefox/addon/vue-js-devtools), [chrome](https://chromewebstore.google.com/detail/vuejs-devtools)
|
|
342
|
-
- **Vue Telescope** - [firefox](https://addons.mozilla.org/en-US/firefox/addon/vue-telescope), [chrome](https://chromewebstore.google.com/detail/vue-telescope)
|
|
343
|
-
- **Material Icons for GitHub** - [firefox](https://addons.mozilla.org/en-US/firefox/addon/material-icons-for-github), [chrome](https://chromewebstore.google.com/detail/material-icons-for-github)
|
|
344
|
-
<!--pinia-->
|
|
345
|
-
|
|
346
|
-
....see [tools-and-IDE.md](----/docs/tools-and-IDE.md----) for more details.
|
|
347
|
-
|
|
348
|
-
## 📚Documentation
|
|
349
|
-
|
|
350
|
-
All repositories documentation are in the folder `/docs/`.
|
|
351
|
-
|
|
352
|
-
Build with [VitePress](https://vitepress.dev), [Redoc](https://redocly.com), collections (`.bru`), requests (`.http`) and project structure (`.tree`).
|
|
353
|
-
|
|
354
|
-
<!-- GitHub Wiki are automate builded with [CI](----): [repo.wiki](----) -->
|
|
355
|
-
|
|
356
|
-
For contribution edit .md documents in the directory [🔎/docs/\*\*.md](https://github.com/search?q=repo%3AOperationCaribbeanSummer%2FWikiAgoraSocial-utils+path%3A%2F%5Edocs%5C%2F%2F++language%3AMarkdown&type=code&l=Markdown).
|
|
357
|
-
|
|
358
|
-
...all repos documentation: [GitHub.io docs-OperationCaribbeanSummer](https://operationcaribbeansummer.github.io/docs-OperationCaribbeanSummer)
|
|
359
|
-
|
|
360
|
-
### ⬛Organization documentation
|
|
361
|
-
|
|
362
|
-
Organization documentation: [VitePress:docs organization](https://operationcaribbeansummer.github.io/.github)
|
|
363
|
-
|
|
364
|
-
### Project documentation
|
|
365
|
-
|
|
366
|
-
Repo documentation at [https://operationcaribbeansummer.github.io/WikiAgoraSocial-utils](https://operationcaribbeansummer.github.io/WikiAgoraSocial-utils)
|
|
367
|
-
|
|
368
|
-
<!-- .tree -->
|
|
369
|
-
|
|
370
|
-
### 🔀Diagrams
|
|
371
|
-
|
|
372
|
-
Diagrams are builded with [mermaid](https://mermaid.live) and [excalidraw](https://excalidraw.com), exported to SVG via github actions.
|
|
373
|
-
|
|
374
|
-
See the repository [diagrams-WikiAgora](https://github.com/OperationCaribbeanSummer/diagrams-WikiAgora) for the full list of diagrams.
|
|
375
|
-
|
|
376
|
-
```mmd
|
|
377
|
-
|
|
378
|
-
```
|
|
379
|
-
|
|
380
|
-
## 🧪Tests
|
|
381
|
-
|
|
382
|
-
[](https://github.com/OperationCaribbeanSummer/WikiAgoraSocial-utils/actions/workflows/test.yml)
|
|
383
|
-
|
|
384
|
-
run tests:
|
|
385
|
-
|
|
386
|
-
```bash
|
|
387
|
-
npm test
|
|
388
|
-
```
|
|
389
|
-
|
|
390
|
-
All test are running over [Vitest](https://www.npmjs.com/package/vitest) and [SuperTest](https://www.npmjs.com/package/supertest).
|
|
391
|
-
|
|
392
|
-
All Pull Request is tested over CI ([test.yml](/.github/workflows/test.yml))
|
|
393
|
-
|
|
394
|
-
Coverage over 90% is desired but not required.
|
|
395
|
-
|
|
396
|
-
run:
|
|
397
|
-
|
|
398
|
-
```bash
|
|
399
|
-
npm run coverage
|
|
400
|
-
```
|
|
401
|
-
|
|
402
|
-
Detailed result at: <https://OperationCaribbeanSummer.com/projects/WikiAgoraSocial-utils/coverage>
|
|
403
|
-
|
|
404
|
-
### ❗️Issues
|
|
405
|
-
|
|
406
|
-
- feature iss
|
|
407
|
-
- bug iss
|
|
408
|
-
- idea
|
|
409
|
-
- docs iss
|
|
410
|
-
- discussion
|
|
411
|
-
|
|
412
|
-
....see [labels.json](/.github/labels.json)
|
|
413
|
-
|
|
414
|
-
[Bugfixes and issues always welcome](https://github.com/OperationCaribbeanSummer/WikiAgoraSocial-utils/issues/new/choose)
|
|
415
|
-
|
|
416
|
-
## 🙌Contributing
|
|
417
|
-
|
|
418
|
-
The OperationCaribbeanSummer community aims to be welcoming to everybody. We use the [Contributor Covenant (2.1)](http://contributor-covenant.org/version/2/1/0/) as our code of conduct.
|
|
419
|
-
|
|
420
|
-
Contributions needed, we are fully open to contributions!<!-- [Contribution guidelines for this project](/CONTRIBUTING.md) -->
|
|
421
|
-
|
|
422
|
-
- Contribute to OperationCaribbeanSummer and submit a pull request (PR)
|
|
423
|
-
- Suggest features you'd like to see (add new Issue)
|
|
424
|
-
- Improve the code
|
|
425
|
-
- Track bugs you've found - [Bugs](https://github.com/OperationCaribbeanSummer/xxxxx/labels/bug)-
|
|
426
|
-
- If the full system is down, build your own system and events (collaboration/not concurrency)
|
|
427
|
-
- Fork this repo and build your own system
|
|
428
|
-
|
|
429
|
-
...see [CONTRIBUTING.md](/CONTRIBUTING.md) for detailed contributing guidelines.
|
|
430
|
-
|
|
431
|
-
### 🔡Code style and format
|
|
432
|
-
|
|
433
|
-
### 🧭Style guide
|
|
434
|
-
|
|
435
|
-
Standards.js style guide [standardjs.com](https://standardjs.com/rules)
|
|
436
|
-
|
|
437
|
-
### 📝Conventions
|
|
438
|
-
|
|
439
|
-
Please follow the style and conventions: `naming`, `code`, `API`, `branching`, `style`, `commit`, `pull request` conventions when submitting a contribution.
|
|
440
|
-
|
|
441
|
-
...see [Conventions](/docs/conventions.md----) at the organization documentation.
|
|
442
|
-
|
|
443
|
-
### ⬆️Commits conventions
|
|
444
|
-
|
|
445
|
-
Sigue [las siete reglas para un gran mensaje de commit](https://chris.beams.io/posts/git-commit)
|
|
446
|
-
|
|
447
|
-
- Scope not needed but akcepted. `docs(scope):` or `docs:`----
|
|
448
|
-
- Description not needed but akcepted, max xx---- characters!
|
|
449
|
-
- Issue optional but very recommended! `closes #44`----
|
|
450
|
-
|
|
451
|
-
Rules: `feat:`, `fix:`, `chore:`, `docs:`, `test:`, `build:`, `ci:`, `perf:`, `refactor:`, `style:`, `breaking:`, `workflow:`, `types:`, `wip:`, `release:`, `deps:`, `other:`.
|
|
452
|
-
|
|
453
|
-
All commits are controled by Husky via [@commitlint/config-conventional](/commitlint.config.js) - <https://commitlint.js.org>
|
|
454
|
-
|
|
455
|
-
### 🔱Branching conventions
|
|
456
|
-
|
|
457
|
-
**Github workflow** - Branching strategy
|
|
458
|
-
|
|
459
|
-
GitHub flow:
|
|
460
|
-
|
|
461
|
-
1. Create issue (optional but recomended)
|
|
462
|
-
1. Create a branch
|
|
463
|
-
1. Make changes
|
|
464
|
-
1. Commit your changes (one or meny times)
|
|
465
|
-
1. Push your changes to remote storage (one or meny times)
|
|
466
|
-
1. Create a Pull Request (PR)
|
|
467
|
-
1. Delete your branch (after PR merge)
|
|
468
|
-
|
|
469
|
-
Branches:
|
|
470
|
-
|
|
471
|
-
- `main` - **Main Branch (formerly Master Branch)**: The primary branch of a Git repository where the production-ready code resides.
|
|
472
|
-
- `documentation----`
|
|
473
|
-
- `v5`
|
|
474
|
-
- ....
|
|
475
|
-
|
|
476
|
-
Branch naming convention
|
|
477
|
-
|
|
478
|
-
How to name your supporting branch prefixes?
|
|
479
|
-
|
|
480
|
-
- Feature branches? `[feature/]`, `[feat/]`
|
|
481
|
-
- Release branches? `[release/]`
|
|
482
|
-
- Hotfix branches? `[hotfix/]`, `[fix/]`, `[bug/]`
|
|
483
|
-
<!-- TODO: -->
|
|
484
|
-
<!-- feat-* || feature-* - **Feature Branch**: A branch created to work on a specific feature or task isolated from the main branch.-->
|
|
485
|
-
<!-- fix-* -->
|
|
486
|
-
<!-- hotfix-* -->
|
|
487
|
-
|
|
488
|
-
```mmd
|
|
489
|
-
|
|
490
|
-
```
|
|
491
|
-
|
|
492
|
-
....read more at [branching-conventions.md](/docs/conventions-and-style/branching-conventions.md), <https://docs.github.com/en/get-started/using-github/github-flow> and <https://guides.github.com/introduction/flow>
|
|
493
|
-
|
|
494
|
-
### ??Getting involved
|
|
495
|
-
|
|
496
|
-
### ❓Help - Questions - Discussions
|
|
497
|
-
|
|
498
|
-
Ask for help in our [discussion forum](https://github.com/orgs/OperationCaribbeanSummer/discussions) or in the [telegram group](----).
|
|
499
|
-
|
|
500
|
-
<!-- https://github.com/OperationCaribbeanSummer/.github/discussions -->
|
|
501
|
-
|
|
502
|
-
Feel free to [open an issue](https://github.com/OperationCaribbeanSummer/WikiAgoraSocial-utils/issues/new/choose).
|
|
503
|
-
|
|
504
|
-
## ❓Support
|
|
505
|
-
|
|
506
|
-
💙 If you like this project, give it a ⭐ and share it with friends!
|
|
507
|
-
|
|
508
|
-
Support our [dependencies](/dependencies.md) currently we implement <https://thanks.dev>.
|
|
509
|
-
|
|
510
|
-
- hosting needed
|
|
511
|
-
- translations needed
|
|
512
|
-
|
|
513
|
-
....updates of our needs at: <https://OperationCaribbeanSummer.com/needs>
|
|
514
|
-
|
|
515
|
-
### Tanks
|
|
516
|
-
|
|
517
|
-
## ⚠️Warning
|
|
518
|
-
|
|
519
|
-
The project are in fully experimental beta status, searching for security revisions. Maintained in no friendly country by enthusiast no professional coders during our free time.
|
|
520
|
-
|
|
521
|
-
⚠️Maintaining, hot fixes and LTS are not guarantee....⚠️
|
|
522
|
-
|
|
523
|
-
## Priorities
|
|
524
|
-
|
|
525
|
-
1. Security issues
|
|
526
|
-
1. Bugs (hotfix)
|
|
527
|
-
1. Documentation
|
|
528
|
-
1. Testing
|
|
529
|
-
1. New issues, services, ideas and enhancements
|
|
530
|
-
|
|
531
|
-
## 🌐Official Site
|
|
532
|
-
|
|
533
|
-
[https://OperationCaribbeanSummer.com/github/WikiAgoraSocial-utils](https://OperationCaribbeanSummer.com/github/WikiAgoraSocial-utils "#OperationCaribbeanSummer - WikiAgoraSocial-utils")
|
|
534
|
-
|
|
535
|
-
## ℹ️Contact info
|
|
536
|
-
|
|
537
|
-
Javier Ramos Nistal via:
|
|
538
|
-
|
|
539
|
-
- <https://OperationCaribbeanSummer.com/contact>
|
|
540
|
-
- <https://javiramoslab/contact>
|
|
541
|
-
- <co2mm.esperanto@gmail.com>
|
|
542
|
-
- [telegram @Radioamatoro](https://t.me/radioamatoro)
|
|
543
|
-
|
|
544
|
-
## 📊Stats
|
|
545
|
-
|
|
546
|
-
[](https://starchart.cc/OperationCaribbeanSummer/WikiAgoraSocial-utils)
|
|
547
|
-
|
|
548
|
-
[](https://www.star-history.com/#operationcaribbeansummer/feed&Date)
|
|
549
|
-
|
|
550
|
-
....full list of stats at:
|
|
551
|
-
|
|
552
|
-
- <https://github.com/OperationCaribbeanSummer/WikiAgoraSocial-utils/pulse>
|
|
553
|
-
- <https://OperationCaribbeanSummer.com/github/WikiAgoraSocial-utils/stats>
|
|
554
|
-
|
|
555
|
-
## 🤝Contributors / Teams
|
|
556
|
-
|
|
557
|
-
This project exists thanks to all the people who contribute. [[Contribute](/CONTRIBUTING.md)].
|
|
558
|
-
|
|
559
|
-
<!-- readme: contributors -start -->
|
|
560
|
-
<!-- readme: contributors -end -->
|
|
561
|
-
|
|
562
|
-
....full list at [CONTRIBUTORS.md](/CONTRIBUTORS.md) [via .all-contributorsrc] - [authors.txt](/public/authors.txt)
|
|
563
|
-
|
|
564
|
-
Add yourself to the [AUTHORS](/AUTHORS) file is optional, you may choose to omit this.
|
|
565
|
-
|
|
566
|
-
<!-- See [CONTRIBUTORS.md](/CONTRIBUTORS.md) to get to know the project team and contributors. -->
|
|
567
|
-
|
|
568
|
-
All repo teams at [TEAMS.md](/.github/TEAMS.md) - [org teams](https://github.com/orgs/OperationCaribbeanSummer/teams)
|
|
569
|
-
|
|
570
|
-
### 🤖Bots
|
|
571
|
-
|
|
572
|
-
<!-- readme: bots -start -->
|
|
573
|
-
<!-- readme: bots -end -->
|
|
574
|
-
|
|
575
|
-
### 💪Maintainers
|
|
576
|
-
|
|
577
|
-
[](https://github.com/JaviRamosLab)
|
|
578
|
-
|
|
579
|
-
....full list of maintainers at [MAINTAINERS.md](/MAINTAINERS.md), [CODEOWNERS](/.github/CODEOWNERS) and [TEAMS.md](/.github/TEAMS.md) / [org teams](https://github.com/orgs/OperationCaribbeanSummer/teams).
|
|
580
|
-
|
|
581
|
-
## ↬Credits
|
|
582
|
-
|
|
583
|
-
## ↬----
|
|
584
|
-
|
|
585
|
-
Credits at [AUTHORS](/AUTHORS), the full list of [CONTRIBUTORS.md](/CONTRIBUTORS.md) and team members [TEAMS](/.github/TEAMS.md).
|
|
586
|
-
|
|
587
|
-
## 👩⚖️License
|
|
588
|
-
|
|
589
|
-
Code released under [MIT License](/LICENSE) / content under [CC-BY-SA](/LICENSE_CONTENT)
|
|
590
|
-
|
|
591
|
-
Copyleft (ɔ) 2026+, **OperationCaribbeanSummer contributors** <https://github.com/orgs/OperationCaribbeanSummer/people---->
|
|
592
|
-
|
|
593
|
-
Copyleft (ɔ) 2023-2025, **Javi Ramos Nistal** <https://github.com/JaviRamosLab>
|
|
594
|
-
|
|
595
|
-
[](----)
|
|
596
|
-
[](http://creativecommons.org/licenses/by-sa/4.0)
|
|
597
|
-
[](https://app.fossa.com/projects/git%2Bgithub.com%2FOperationCaribbeanSummer%2FWikiAgoraSocial-utils?ref=badge_large&issueType=license)
|
|
598
|
-
|
|
599
|
-
### 💡➕Contributions, ❗️Issues, ⏫Pull Request and 🌟STARS are welcome 🆗
|
|
600
|
-
|
|
601
|
-
### Show some ❤️ by starring 🌟 some of the [repositories](https://github.com/orgs/OperationCaribbeanSummer/repositories), [membering in the community](https://github.com/orgs/OperationCaribbeanSummer/people) and [fallowing us](https://github.com/orgs/OperationCaribbeanSummer)🙏!
|
|
602
|
-
|
|
603
|
-
### Developed by Javier Ramos Nistal ([JaviRamosLab.com](https://JaviRamosLab.com)), ([@JaviRamosLab](https://github.com/JaviRamosLab)), ([++JaviRamosLab](https://OperationCaribbeanSummer.com/peoples/JaviRamosLab)) from 🇨🇺 Cuba with "❤️, ⏰" and whithout "💰"
|
|
604
|
-
|
|
605
|
-
<span align="center"><img src="public/assets/wave-OperationCaribbeanSummer.svg" alt="wave OperationCaribbeanSummer" /></span>
|
|
606
|
-
|
|
607
|
-
<!-- TODO: /.github/assets/opcasu-icons.css -->
|
|
608
|
-
<!-- TODO: /.github/assets/opcasu-styles.css -->
|
|
609
|
-
<!-- TODO:
|
|
610
|
-
contributor img css agrandar + sombra on hover
|
|
611
|
-
link css /.github/assets/styles.css
|
|
612
|
-
link css /.github/assets/icons.css
|
|
613
|
-
-->
|
|
614
|
-
<style>
|
|
615
|
-
.mlk {
|
|
616
|
-
background: #444444;
|
|
617
|
-
color: white;
|
|
618
|
-
border: 4px solid white;
|
|
619
|
-
}
|
|
620
|
-
.44 {
|
|
621
|
-
background: #663399;
|
|
622
|
-
color: white;
|
|
623
|
-
border: 4px solid white;
|
|
624
|
-
}
|
|
625
|
-
</style>
|
|
1
|
+
# WikiAgoraSocial-utils
|
|
2
|
+
|
|
3
|
+
<div align="center">
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/WikiAgoraSocial-utils)
|
|
6
|
+
[](https://www.npmjs.com/package/WikiAgoraSocial-utils)
|
|
7
|
+
[](https://github.com/operationcaribbeansummer/WikiAgoraSocial-utils/actions)
|
|
8
|
+
[](https://coveralls.io/github/operationcaribbeansummer/WikiAgoraSocial-utils)
|
|
9
|
+
[](https://snyk.io/test/npm/WikiAgoraSocial-utils)
|
|
10
|
+
[](https://opensource.org/licenses/MIT)
|
|
11
|
+
|
|
12
|
+
[](https://github.com/operationcaribbeansummer/WikiAgoraSocial-utils/graphs/commit-activity)
|
|
13
|
+
[](http://makeapullrequest.com)
|
|
14
|
+
[](http://commitizen.github.io/cz-cli)
|
|
15
|
+
[](https://github.com/semantic-release/semantic-release)
|
|
16
|
+
|
|
17
|
+
</div>
|
|
18
|
+
|
|
19
|
+
## 📝 Description
|
|
20
|
+
|
|
21
|
+
**Short description:** Replace with a concise, plain-language description of what your package does and why it matters. Describe the problem it solves and how it can improve the lives of its users.
|
|
22
|
+
|
|
23
|
+
**Keywords:** `node`, `npm-package`, `utility`.
|
|
24
|
+
|
|
25
|
+
## ✨ Features
|
|
26
|
+
|
|
27
|
+
- ✅ Feature 1 – brief explanation
|
|
28
|
+
- ✅ Feature 2 – works with CommonJS and ES modules
|
|
29
|
+
- ✅ Feature 3 – zero dependencies
|
|
30
|
+
- 🚧 Feature 4 – planned for future release
|
|
31
|
+
- 🚧 Feature 5 – contributions welcome
|
|
32
|
+
|
|
33
|
+
> More ideas and feature requests are welcome – [open an issue](https://github.com/operationcaribbeansummer/WikiAgoraSocial-utils/issues/new)
|
|
34
|
+
|
|
35
|
+
## 📦 Tech stack
|
|
36
|
+
|
|
37
|
+
- **Runtime:** Node.js (>=18)
|
|
38
|
+
- **Language:** JavaScript / TypeScript
|
|
39
|
+
- **Package manager:** npm / yarn / pnpm
|
|
40
|
+
- **Testing:** Vitest
|
|
41
|
+
- **Linting / formatting:** ESLint / StandardJS
|
|
42
|
+
- **CI/CD:** GitHub Actions
|
|
43
|
+
|
|
44
|
+
For a detailed list of dependencies, see [package.json](./package.json).
|
|
45
|
+
|
|
46
|
+
## 🚀 Quick Start
|
|
47
|
+
|
|
48
|
+
### Prerequisites
|
|
49
|
+
|
|
50
|
+
- Node.js >=18
|
|
51
|
+
- npm >=9 or yarn >=1.22 or pnpm >=7
|
|
52
|
+
|
|
53
|
+
## Installation
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
npm install WikiAgoraSocial-utils
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Basic Usage
|
|
60
|
+
|
|
61
|
+
```js
|
|
62
|
+
// CommonJS
|
|
63
|
+
const myPackage = require("WikiAgoraSocial-utils");
|
|
64
|
+
|
|
65
|
+
// ES Modules
|
|
66
|
+
import myPackage from "WikiAgoraSocial-utils";
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## ⚙️ Configuration
|
|
70
|
+
|
|
71
|
+
Create a .env file or pass configuration options directly:
|
|
72
|
+
|
|
73
|
+
```js
|
|
74
|
+
javascript;
|
|
75
|
+
import { configure } from "WikiAgoraSocial-utils";
|
|
76
|
+
|
|
77
|
+
configure({
|
|
78
|
+
// configs
|
|
79
|
+
});
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
For advanced configuration, see [docs/configuration.md](./docs/configuration.md).
|
|
83
|
+
|
|
84
|
+
## 📚 Documentation
|
|
85
|
+
|
|
86
|
+
- [API Reference](./docs/api.md)
|
|
87
|
+
- [Examples](./examples)
|
|
88
|
+
- [Changelog](./CHANGELOG.md)
|
|
89
|
+
|
|
90
|
+
## Build docs locally
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
npm run docs
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## 🧪 Testing
|
|
97
|
+
|
|
98
|
+
Run the test suite:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
npm test
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Run coverage:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
npm run coverage
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
We use Vitest and aim for >90% coverage.
|
|
111
|
+
|
|
112
|
+
## 🤝 Contributing
|
|
113
|
+
|
|
114
|
+
We welcome contributions! Please read our [Contributing Guidelines](./CONTRIBUTING.md) and [Code of Conduct](./CODE_OF_CONDUCT.md).
|
|
115
|
+
|
|
116
|
+
### How to contribute
|
|
117
|
+
|
|
118
|
+
1. Fork the repo
|
|
119
|
+
1. Create a feature branch (`git checkout -b feat/amazing-feature`)
|
|
120
|
+
1. Commit changes using [Conventional Commits](https://www.conventionalcommits.org)
|
|
121
|
+
1. Push to the branch
|
|
122
|
+
1. Open a Pull Request
|
|
123
|
+
|
|
124
|
+
### Commit conventions
|
|
125
|
+
|
|
126
|
+
We follow [Conventional Commits](https://www.conventionalcommits.org):
|
|
127
|
+
|
|
128
|
+
- `feat`: new feature
|
|
129
|
+
- `fix`: bug fix
|
|
130
|
+
- `docs`: documentation
|
|
131
|
+
- `test`: adding tests
|
|
132
|
+
- `chore`: maintenance
|
|
133
|
+
- `breaking`: breaking change
|
|
134
|
+
|
|
135
|
+
### Branching strategy
|
|
136
|
+
|
|
137
|
+
We use [GitHub Flow](https://docs.github.com/en/get-started/using-github/github-flow):
|
|
138
|
+
|
|
139
|
+
- `main` – production-ready code
|
|
140
|
+
- `feat/*` – feature branches
|
|
141
|
+
- `fix/*` – bug fixes
|
|
142
|
+
- `docs/*` – documentation updates
|
|
143
|
+
|
|
144
|
+
## 🛣️ Roadmap
|
|
145
|
+
|
|
146
|
+
See the [open issues](https://github.com/operationcaribbeansummer/WikiAgoraSocial-utils/issues) and [milestones](https://github.com/operationcaribbeansummer/WikiAgoraSocial-utils/milestones) for planned features and bugfixes.
|
|
147
|
+
|
|
148
|
+
## 💬 Support
|
|
149
|
+
|
|
150
|
+
- [GitHub Discussions](https://github.com/operationcaribbeansummer/WikiAgoraSocial-utils/discussions)
|
|
151
|
+
- [Open an issue](https://github.com/operationcaribbeansummer/WikiAgoraSocial-utils/issues/new/choose)
|
|
152
|
+
|
|
153
|
+
## 🙏 Credits
|
|
154
|
+
|
|
155
|
+
Author: Javier Ramos [@JaviRamosLab](https://github.com/JaviRamosLab)
|
|
156
|
+
|
|
157
|
+
Contributors: see [CONTRIBUTORS.md](./CONTRIBUTORS.md)
|
|
158
|
+
|
|
159
|
+
## 👩⚖️License
|
|
160
|
+
|
|
161
|
+
Code released under [MIT License](/LICENSE) / content under [CC-BY-SA](/LICENSE_CONTENT)
|
|
162
|
+
|
|
163
|
+
Copyleft (ɔ) 2026+, **OperationCaribbeanSummer contributors** <https://github.com/orgs/OperationCaribbeanSummer/people>
|
|
164
|
+
|
|
165
|
+
Copyleft (ɔ) 2023-2026, **Javier Ramos Nistal** <https://github.com/JaviRamosLab>
|
|
166
|
+
|
|
167
|
+
[](https://choosealicense.com/licenses/mit)
|
|
168
|
+
[](http://creativecommons.org/licenses/by-sa/4.0)
|
|
169
|
+
|
|
170
|
+
### 💡➕Contributions, ❗️Issues, ⏫Pull Request and 🌟STARS are welcome 🆗
|
|
171
|
+
|
|
172
|
+
### Show some ❤️ by starring 🌟 some of the [repositories](https://github.com/orgs/OperationCaribbeanSummer/repositories), [membering in the community](https://github.com/orgs/OperationCaribbeanSummer/people) and [fallowing us](https://github.com/orgs/OperationCaribbeanSummer)🙏!
|
|
173
|
+
|
|
174
|
+
### Developed by Javier Ramos Nistal ([JaviRamosLab.com](https://JaviRamosLab.com)), ([@JaviRamosLab](https://github.com/JaviRamosLab)), ([++JaviRamosLab](https://OperationCaribbeanSummer.com/peoples/JaviRamosLab)) from 🇨🇺 Cuba with "❤️, ⏰" and whithout "💰"
|
package/package.json
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@operationcaribbeansummer/wikiagorasocial-utils",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.1.0",
|
|
4
4
|
"description": "Core utility library for WikiAgora Social ecosystem - providing API response handling, database connections, messaging integration, and common helper functions for Express.js microservices",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"OperationCaribbeanSummer",
|
|
7
7
|
"WikiAgora",
|
|
8
|
-
"democracy",
|
|
9
|
-
"LiquidDemocracy",
|
|
10
|
-
"eDemocracy",
|
|
11
8
|
"44",
|
|
12
9
|
"mlk",
|
|
13
10
|
"mlk44",
|
|
@@ -97,27 +94,7 @@
|
|
|
97
94
|
}
|
|
98
95
|
},
|
|
99
96
|
"dependencies": {
|
|
100
|
-
"
|
|
101
|
-
"compression": "^1.8.1",
|
|
102
|
-
"cookie-parser": "^1.4.7",
|
|
103
|
-
"cors": "^2.8.5",
|
|
104
|
-
"dayjs": "^1.11.19",
|
|
105
|
-
"dotenv": "^17.2.3",
|
|
106
|
-
"express": "^4.21.2",
|
|
107
|
-
"express-mongo-sanitize": "^2.2.0",
|
|
108
|
-
"fs-extra": "^11.3.2",
|
|
109
|
-
"helmet": "^8.1.0",
|
|
110
|
-
"hpp": "^0.2.3",
|
|
111
|
-
"kafkajs": "^2.2.4",
|
|
112
|
-
"mongoose": "^8.19.3",
|
|
113
|
-
"multer": "^2.0.2",
|
|
114
|
-
"nodemailer": "^7.0.10",
|
|
115
|
-
"redis": "^5.9.0",
|
|
116
|
-
"redoc-express": "^2.1.3",
|
|
117
|
-
"sharp": "^0.34.5",
|
|
118
|
-
"slugify": "^1.6.6",
|
|
119
|
-
"uuid": "^13.0.0",
|
|
120
|
-
"zod": "4.4.3"
|
|
97
|
+
"dotenv": "^17.2.3"
|
|
121
98
|
},
|
|
122
99
|
"devDependencies": {
|
|
123
100
|
"@commitlint/cli": "^20.1.0",
|
|
@@ -140,43 +117,12 @@
|
|
|
140
117
|
"node": ">=20.0.0",
|
|
141
118
|
"npm": ">=10.0.0"
|
|
142
119
|
},
|
|
143
|
-
"os": [
|
|
144
|
-
"darwin",
|
|
145
|
-
"linux",
|
|
146
|
-
"win32"
|
|
147
|
-
],
|
|
148
|
-
"cpu": [
|
|
149
|
-
"x64",
|
|
150
|
-
"arm64"
|
|
151
|
-
],
|
|
152
120
|
"publishConfig": {
|
|
153
|
-
"access": "
|
|
121
|
+
"access": "public",
|
|
154
122
|
"registry": "https://registry.npmjs.org/"
|
|
155
123
|
},
|
|
156
|
-
"devRequirements": {
|
|
157
|
-
"git": "*0.0.0",
|
|
158
|
-
"vscode": "*0.0.0",
|
|
159
|
-
"bruno": "*0.0.0"
|
|
160
|
-
},
|
|
161
124
|
"docs": "https://operationcaribbeansummer.github.io/WikiAgoraSocial-utils",
|
|
162
|
-
"globalDependencies": {
|
|
163
|
-
"sort-package-json": "*0.0.0",
|
|
164
|
-
"localtunnel": "*0.0.0",
|
|
165
|
-
"@asyncapi/cli": "*0.0.0",
|
|
166
|
-
"pm2": "*0.0.0",
|
|
167
|
-
"nodemon": "*3.0.0",
|
|
168
|
-
"vitepress": "*1.0.0",
|
|
169
|
-
"typescript": "*0.0.0"
|
|
170
|
-
},
|
|
171
125
|
"readmeFilename": "README.md",
|
|
172
|
-
"requirements": {
|
|
173
|
-
"node": "^22.0.0",
|
|
174
|
-
"npm": "^11.0.0",
|
|
175
|
-
"mongodb": "*0.0.0",
|
|
176
|
-
"redis": "*0.0.0",
|
|
177
|
-
"kafka": "*0.0.0",
|
|
178
|
-
"docker": "*0.0.0"
|
|
179
|
-
},
|
|
180
126
|
"security": {
|
|
181
127
|
"contact": "co2mm.esperanto@gmail.com",
|
|
182
128
|
"policy": "https://github.com/OperationCaribbeanSummer/WikiAgoraSocial-utils/security/policy"
|