coursewatcher 1.3.0 → 2.0.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.
Files changed (47) hide show
  1. package/README.md +26 -23
  2. package/dist/app/cli/main.js +36 -0
  3. package/dist/app/server/create-app.js +151 -0
  4. package/dist/app/server/start-server.js +72 -0
  5. package/dist/modules/catalog/catalog-mappers.js +49 -0
  6. package/dist/modules/catalog/catalog-repository.js +168 -0
  7. package/dist/modules/catalog/catalog-service.js +76 -0
  8. package/dist/modules/notes/notes-repository.js +25 -0
  9. package/dist/modules/notes/notes-service.js +28 -0
  10. package/dist/modules/playback/playback-repository.js +32 -0
  11. package/dist/modules/playback/playback-service.js +89 -0
  12. package/dist/platform/config/app-config.js +24 -0
  13. package/dist/platform/config/package-info.js +21 -0
  14. package/dist/platform/database/database-manager.js +101 -0
  15. package/dist/platform/errors/app-error.js +30 -0
  16. package/dist/platform/logging/logger.js +21 -0
  17. package/dist/shared/contracts/api.js +2 -0
  18. package/dist/web/assets/api-client-hFlLSS3K.js +1 -0
  19. package/dist/web/assets/catalog-route-pOIhR3yd.js +1 -0
  20. package/dist/web/assets/index-CwspbIw1.js +10 -0
  21. package/dist/web/assets/index-VjwsJnuQ.css +1 -0
  22. package/dist/web/assets/jsx-runtime-C2ZT__TU.js +4 -0
  23. package/dist/web/assets/playback-route-Bmy_Z7k7.js +2 -0
  24. package/dist/web/assets/search-route-CeGVOVPT.js +1 -0
  25. package/dist/web/index.html +14 -0
  26. package/package.json +75 -57
  27. package/public/css/styles.css +0 -1375
  28. package/public/js/player.js +0 -359
  29. package/src/cli.js +0 -45
  30. package/src/controllers/video-controller.js +0 -175
  31. package/src/models/database.js +0 -169
  32. package/src/server.js +0 -179
  33. package/src/services/notes-service.js +0 -97
  34. package/src/services/progress-service.js +0 -148
  35. package/src/services/video-service.js +0 -354
  36. package/src/utils/config.js +0 -56
  37. package/src/utils/errors.js +0 -57
  38. package/src/utils/logger.js +0 -48
  39. package/views/layouts/main.ejs +0 -13
  40. package/views/pages/error.ejs +0 -25
  41. package/views/pages/index.ejs +0 -101
  42. package/views/pages/player.ejs +0 -161
  43. package/views/pages/search.ejs +0 -63
  44. package/views/partials/footer.ejs +0 -3
  45. package/views/partials/head.ejs +0 -8
  46. package/views/partials/header.ejs +0 -14
  47. package/views/partials/video-card.ejs +0 -36
package/package.json CHANGED
@@ -1,57 +1,75 @@
1
- {
2
- "name": "coursewatcher",
3
- "version": "1.3.0",
4
- "description": "A CLI tool and web interface for tracking progress in downloaded video courses",
5
- "main": "src/server.js",
6
- "bin": {
7
- "coursewatcher": "./src/cli.js"
8
- },
9
- "scripts": {
10
- "start": "node src/cli.js",
11
- "dev": "node src/cli.js",
12
- "test": "jest",
13
- "test:coverage": "jest --coverage",
14
- "test:watch": "jest --watch"
15
- },
16
- "keywords": [
17
- "video",
18
- "course",
19
- "tracker",
20
- "education",
21
- "cli",
22
- "progress",
23
- "learning",
24
- "tutorial"
25
- ],
26
- "author": "Serhii Shtokal <serhiishtokal@gmail.com>",
27
- "license": "MIT",
28
- "repository": {
29
- "type": "git",
30
- "url": "git+https://github.com/serhiishtokal/CourseWatcher.git"
31
- },
32
- "homepage": "https://github.com/serhiishtokal/CourseWatcher#readme",
33
- "bugs": {
34
- "url": "https://github.com/serhiishtokal/CourseWatcher/issues"
35
- },
36
- "files": [
37
- "src/",
38
- "views/",
39
- "public/"
40
- ],
41
- "dependencies": {
42
- "better-sqlite3": "^11.6.0",
43
- "chalk": "^4.1.2",
44
- "commander": "^12.1.0",
45
- "ejs": "^3.1.10",
46
- "express": "^4.21.1",
47
- "open": "^8.4.2",
48
- "plyr": "^3.8.4"
49
- },
50
- "devDependencies": {
51
- "jest": "^29.7.0",
52
- "supertest": "^7.0.0"
53
- },
54
- "engines": {
55
- "node": ">=18.0.0"
56
- }
57
- }
1
+ {
2
+ "name": "coursewatcher",
3
+ "version": "2.0.0",
4
+ "description": "A CLI tool and web interface for tracking progress in downloaded video courses",
5
+ "main": "dist/app/server/start-server.js",
6
+ "bin": {
7
+ "coursewatcher": "./dist/app/cli/main.js"
8
+ },
9
+ "scripts": {
10
+ "clean": "node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"",
11
+ "build": "npm run clean && npm run build:server && npm run build:web",
12
+ "build:server": "tsc -p tsconfig.server.json",
13
+ "build:web": "vite build",
14
+ "dev": "cross-env NODE_ENV=development tsx watch src/app/cli/main.ts",
15
+ "start": "node dist/app/cli/main.js",
16
+ "test": "vitest run --config vitest.config.ts",
17
+ "test:watch": "vitest --config vitest.config.ts",
18
+ "typecheck": "tsc -p tsconfig.server.json --noEmit && tsc -p tsconfig.web.json --noEmit"
19
+ },
20
+ "keywords": [
21
+ "video",
22
+ "course",
23
+ "tracker",
24
+ "education",
25
+ "cli",
26
+ "progress",
27
+ "learning",
28
+ "tutorial"
29
+ ],
30
+ "author": "Serhii Shtokal <serhiishtokal@gmail.com>",
31
+ "license": "MIT",
32
+ "repository": {
33
+ "type": "git",
34
+ "url": "git+https://github.com/serhiishtokal/CourseWatcher.git"
35
+ },
36
+ "homepage": "https://github.com/serhiishtokal/CourseWatcher#readme",
37
+ "bugs": {
38
+ "url": "https://github.com/serhiishtokal/CourseWatcher/issues"
39
+ },
40
+ "files": [
41
+ "dist/"
42
+ ],
43
+ "dependencies": {
44
+ "better-sqlite3": "^11.6.0",
45
+ "chalk": "^4.1.2",
46
+ "commander": "^12.1.0",
47
+ "express": "^4.21.1",
48
+ "open": "^8.4.2",
49
+ "plyr": "^3.8.4",
50
+ "react": "^19.2.5",
51
+ "react-dom": "^19.2.5",
52
+ "react-router": "^7.14.1"
53
+ },
54
+ "devDependencies": {
55
+ "@testing-library/jest-dom": "^6.9.1",
56
+ "@testing-library/react": "^16.3.0",
57
+ "@types/better-sqlite3": "^7.6.13",
58
+ "@types/express": "^5.0.3",
59
+ "@types/node": "^24.7.2",
60
+ "@types/react": "^19.2.2",
61
+ "@types/react-dom": "^19.2.2",
62
+ "@types/supertest": "^6.0.3",
63
+ "@vitejs/plugin-react": "^6.0.1",
64
+ "cross-env": "^10.1.0",
65
+ "jsdom": "^27.0.0",
66
+ "supertest": "^7.0.0",
67
+ "tsx": "^4.20.6",
68
+ "typescript": "^6.0.3",
69
+ "vite": "^8.0.8",
70
+ "vitest": "^4.1.4"
71
+ },
72
+ "engines": {
73
+ "node": ">=20.19.0"
74
+ }
75
+ }