Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version 3 #136

Draft
wants to merge 70 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
688ede1
feat: remove legacy stuff
severinsimmler Jul 1, 2024
05a3f98
feat: add vscode settings
severinsimmler Jul 9, 2024
eb550b1
feat: update settings
severinsimmler Jul 9, 2024
6aa6dbd
feat: add tsconfig
severinsimmler Jul 9, 2024
eb85887
feat: add tsconfig.serve
severinsimmler Jul 9, 2024
fdaa23d
feat: add electron builder
severinsimmler Jul 9, 2024
d0ddd89
feat: add noder version
severinsimmler Jul 9, 2024
257144b
feat: add angular webpack config
severinsimmler Jul 9, 2024
5bf2400
feat: add angular config
severinsimmler Jul 9, 2024
e4a695e
feat: update gitignore
severinsimmler Jul 9, 2024
6ae9b6f
feat: add favicon
severinsimmler Jul 9, 2024
5e47133
feat: add package.json
severinsimmler Jul 9, 2024
91a41b4
fix: config
severinsimmler Jul 9, 2024
406fa60
feat: add generated files
severinsimmler Jul 9, 2024
bd6944f
feat: add main script
severinsimmler Jul 10, 2024
7023319
feat: add prettier config
severinsimmler Jul 10, 2024
af9c6eb
feat: add src
severinsimmler Jul 10, 2024
587d745
feat: add app
severinsimmler Jul 10, 2024
befa299
fix: comma
severinsimmler Jul 10, 2024
11897a0
feat: add dom.iterable
severinsimmler Jul 10, 2024
e792b09
feat: add stopwords
severinsimmler Jul 30, 2024
9729618
feat: add interfaces
severinsimmler Jul 30, 2024
5da06ff
feat: shared utils
severinsimmler Jul 31, 2024
e4fe739
feat: update bow type
severinsimmler Jul 31, 2024
089a356
feat: add types
severinsimmler Jul 31, 2024
bf1f12f
feat: topic model interface
severinsimmler Jul 31, 2024
9b2a7ea
feat: most common words
severinsimmler Aug 1, 2024
71c99ef
feat: add stopwords
severinsimmler Aug 1, 2024
6e116cf
feat: tokenization
severinsimmler Aug 9, 2024
bb00ba0
chore: docs
severinsimmler Aug 9, 2024
5b1baec
feat: components
severinsimmler Aug 9, 2024
ec84c96
chore: update dependencies
severinsimmler Sep 5, 2024
5894189
feat: add alpha/beta
severinsimmler Sep 6, 2024
a091eeb
feat: add web worker for computation
severinsimmler Sep 6, 2024
98effb0
feat: add toast component
severinsimmler Sep 10, 2024
7232b89
feat: add toast service
severinsimmler Sep 10, 2024
09bd8cd
feat: comments
severinsimmler Sep 10, 2024
faa8342
feat: worker message interface
severinsimmler Sep 10, 2024
5f93ad1
feat: get topics
severinsimmler Sep 10, 2024
854663c
feat: add training modal
severinsimmler Sep 10, 2024
d7b13de
feat: topics table
severinsimmler Sep 10, 2024
56d785c
feat: training modal
severinsimmler Sep 10, 2024
f38b997
feat: formatting
severinsimmler Sep 10, 2024
9ced93d
feat: update dependencies
severinsimmler Sep 10, 2024
0a87468
chore: formatting
severinsimmler Sep 12, 2024
b24dea7
feat: default dark theme
severinsimmler Sep 13, 2024
86fe81f
feat: add icons
severinsimmler Sep 13, 2024
0fc14a3
feat: open external links in browser
severinsimmler Sep 13, 2024
53239d5
feat: add navbar
severinsimmler Sep 13, 2024
8b2a1d6
chore: update dependencies
severinsimmler Sep 17, 2024
15760eb
fix: skip lib check
severinsimmler Sep 17, 2024
9495573
feat: provide animations
severinsimmler Sep 17, 2024
1166b59
feat: show toast
severinsimmler Sep 17, 2024
50f49da
feat: update interfaces
severinsimmler Sep 17, 2024
e63ba66
feat: sort imports
severinsimmler Sep 17, 2024
f825558
feat: use signals
severinsimmler Sep 17, 2024
37fe910
feat: use signals
severinsimmler Sep 17, 2024
4a15b37
feat: navbar component
severinsimmler Oct 29, 2024
2e373f6
feat: topic bar component
severinsimmler Oct 29, 2024
00e7e68
feat: training modal
severinsimmler Oct 29, 2024
09a5b8c
feat: topic bar component
severinsimmler Oct 29, 2024
addd0db
feat: add todos
severinsimmler Oct 29, 2024
ab79f64
feat: add routes
severinsimmler Oct 29, 2024
cb75691
feat: app componetn
severinsimmler Oct 29, 2024
f5e6c41
feat: toast service
severinsimmler Oct 29, 2024
1ac1d2a
feat: model guard
severinsimmler Oct 29, 2024
13e0e59
feat: corpus service
severinsimmler Oct 29, 2024
9d7d45f
feat: set after saving
severinsimmler Oct 29, 2024
44a3dea
feat: model service
severinsimmler Oct 29, 2024
3a24326
chore: update dependencies
severinsimmler Oct 29, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .gitattributes

This file was deleted.

61 changes: 44 additions & 17 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,17 +1,44 @@
node_modules
venv/*
.idea/*
webapp.log
static/topicmodeling.zip
__pycache__/*
.cache/
tests/__pycache__
.pytest_cache/
application/__pycache__/*
topicmodeling.zip
.zip
tests.xml
htmlcov
coverage.xml
.coverage
.idea/*
# Compiled output
/dist
/tmp
/out-tsc
/bazel-out

# Node
/node_modules
npm-debug.log
yarn-error.log

# IDEs and editors
.idea/
.project
.classpath
.c9/
*.launch
.settings/
*.sublime-workspace

# Visual Studio Code
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
.history/*

# Miscellaneous
/.angular/cache
.sass-cache/
/connect.lock
/coverage
/libpeerconnection.log
testem.log
/typings

# System files
.DS_Store
Thumbs.db

# Generated files
app/main.js
app/main.js.map
3 changes: 0 additions & 3 deletions .gitmodules

This file was deleted.

1 change: 1 addition & 0 deletions .node-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
20
5 changes: 5 additions & 0 deletions .prettierrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"printWidth": 120,
"singleQuote": true,
"trailingComma": "all"
}
3 changes: 3 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"recommendations": ["angular.ng-template"]
}
38 changes: 38 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "Renderer",
"type": "chrome",
"request": "attach",
"port": 9876,
"url": "http://localhost:4200",
"sourceMaps": true,
"timeout": 10000,
"trace": true,
"sourceMapPathOverrides": {
"webpack:///./*": "${workspaceFolder}/*"
},
"preLaunchTask": "Build.Renderer"
},
{
"name": "Main",
"type": "node",
"request": "launch",
"cwd": "${workspaceFolder}",
"runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron",
"trace": true,
"runtimeArgs": ["--serve", ".", "--remote-debugging-port=9876"],
"windows": {
"runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron.cmd"
},
"preLaunchTask": "Build.Main"
}
],
"compounds": [
{
"name": "Application Debug",
"configurations": ["Renderer", "Main"]
}
]
}
49 changes: 49 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "Build.Main",
"type": "shell",
"command": "npm run electron:serve-tsc",
"isBackground": false,
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": {
"owner": "typescript",
"source": "ts",
"applyTo": "closedDocuments",
"fileLocation": ["relative", "${cwd}"],
"pattern": "$tsc",
"background": {
"activeOnStart": true,
"beginsPattern": "^.*",
"endsPattern": "^.*Terminal will be reused by tasks, press any key to close it.*"
}
}
},
{
"label": "Build.Renderer",
"type": "shell",
"command": "npm run ng:serve",
"isBackground": true,
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": {
"owner": "typescript",
"source": "ts",
"applyTo": "closedDocuments",
"fileLocation": ["relative", "${cwd}"],
"pattern": "$tsc",
"background": {
"activeOnStart": true,
"beginsPattern": "^.*",
"endsPattern": "^.*Compiled successfully.*"
}
}
}
]
}
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright [yyyy] [name of copyright owner]
Copyright 2018-2024 DARIAH-DE

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
https://github.com/primaryobjects/lda/blob/master/lib/lda.js#L110
https://github.com/stdlib-js/nlp-lda



# Explore your own text collection with a topic model – without prior knowledge.
The text mining technique _topic modeling_ has become a popular procedure for clustering documents into semantic groups. This application introduces a user-friendly workflow which leads from raw text data to an interactive visualization of the topic model. All you need is a text corpus and a little time.

Expand Down
140 changes: 140 additions & 0 deletions angular.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"cli": {
"schematicCollections": ["@angular-eslint/schematics"],
"analytics": false
},
"version": 1,
"newProjectRoot": "projects",
"projects": {
"angular-electron": {
"root": "",
"sourceRoot": "src",
"projectType": "application",
"schematics": {
"@schematics/angular:application": {
"strict": true
},
"@schematics/angular:component": {
"style": "scss"
}
},
"prefix": "app",
"architect": {
"build": {
"builder": "@angular-builders/custom-webpack:browser",
"options": {
"outputPath": "dist",
"index": "src/index.html",
"main": "src/main.ts",
"tsConfig": "src/tsconfig.app.json",
"polyfills": "src/polyfills.ts",
"inlineStyleLanguage": "scss",
"assets": ["src/favicon.ico", "src/assets"],
"styles": ["src/styles.scss"],
"scripts": [],
"customWebpackConfig": {
"path": "./angular.webpack.js",
"replaceDuplicatePlugins": true
},
"webWorkerTsConfig": "tsconfig.worker.json"
},
"configurations": {
"dev": {
"optimization": false,
"outputHashing": "none",
"sourceMap": true,
"namedChunks": false,
"aot": false,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": false,
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.dev.ts"
}
]
},
"production": {
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
]
},
"web": {
"optimization": false,
"outputHashing": "none",
"sourceMap": true,
"namedChunks": false,
"aot": false,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": false,
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.web.ts"
}
]
},
"web-production": {
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.web.prod.ts"
}
]
}
}
},
"serve": {
"builder": "@angular-builders/custom-webpack:dev-server",
"options": {
"buildTarget": "angular-electron:build"
},
"configurations": {
"dev": {
"buildTarget": "angular-electron:build:dev"
},
"production": {
"buildTarget": "angular-electron:build:production"
},
"web": {
"buildTarget": "angular-electron:build:web"
},
"web-production": {
"buildTarget": "angular-electron:build:web-production"
}
}
}
}
}
},
"schematics": {
"@angular-eslint/schematics:application": {
"setParserOptionsProject": true
},
"@angular-eslint/schematics:library": {
"setParserOptionsProject": true
}
}
}
31 changes: 31 additions & 0 deletions angular.webpack.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
const NodePolyfillPlugin = require('node-polyfill-webpack-plugin');

module.exports = (config, options) => {
config.target = 'electron-renderer';

if (options.fileReplacements) {
for (let fileReplacement of options.fileReplacements) {
if (fileReplacement.replace !== 'src/environments/environment.ts') {
continue;
}

let fileReplacementParts = fileReplacement['with'].split('.');
if (
fileReplacementParts.length > 1 &&
['web'].indexOf(fileReplacementParts[1]) >= 0
) {
config.target = 'web';
}
break;
}
}

config.plugins = [
...config.plugins,
new NodePolyfillPlugin({
excludeAliases: ['console'],
}),
];

return config;
};
Loading