gaialive commited on
Commit
7fe631a
·
verified ·
1 Parent(s): 86e45e9

Upload 16 files

Browse files
.idea/.gitignore ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ # Default ignored files
2
+ /shelf/
3
+ /workspace.xml
4
+ # Datasource local storage ignored files
5
+ /dataSources/
6
+ /dataSources.local.xml
.idea/BioNexus-Hub.iml ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module type="WEB_MODULE" version="4">
3
+ <component name="NewModuleRootManager">
4
+ <content url="file://$MODULE_DIR$">
5
+ <excludeFolder url="file://$MODULE_DIR$/.tmp" />
6
+ <excludeFolder url="file://$MODULE_DIR$/temp" />
7
+ <excludeFolder url="file://$MODULE_DIR$/tmp" />
8
+ </content>
9
+ <orderEntry type="inheritedJdk" />
10
+ <orderEntry type="sourceFolder" forTests="false" />
11
+ </component>
12
+ </module>
.idea/copilot.data.migration.ask.xml ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="AskMigrationStateService">
4
+ <option name="migrationStatus" value="COMPLETED" />
5
+ </component>
6
+ </project>
.idea/copilot.data.migration.ask2agent.xml ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="Ask2AgentMigrationStateService">
4
+ <option name="migrationStatus" value="COMPLETED" />
5
+ </component>
6
+ </project>
.idea/modules.xml ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectModuleManager">
4
+ <modules>
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/BioNexus-Hub.iml" filepath="$PROJECT_DIR$/.idea/BioNexus-Hub.iml" />
6
+ </modules>
7
+ </component>
8
+ </project>
.idea/workspace.xml ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="AutoImportSettings">
4
+ <option name="autoReloadType" value="SELECTIVE" />
5
+ </component>
6
+ <component name="ChangeListManager">
7
+ <list default="true" id="8d47968a-16b9-40b8-a89a-e4bca638b8f3" name="Changes" comment="" />
8
+ <option name="SHOW_DIALOG" value="false" />
9
+ <option name="HIGHLIGHT_CONFLICTS" value="true" />
10
+ <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
11
+ <option name="LAST_RESOLUTION" value="IGNORE" />
12
+ </component>
13
+ <component name="ProjectColorInfo"><![CDATA[{
14
+ "associatedIndex": 5
15
+ }]]></component>
16
+ <component name="ProjectId" id="34L8nrfyL48QuIbQoTA8YufQkPC" />
17
+ <component name="ProjectViewState">
18
+ <option name="hideEmptyMiddlePackages" value="true" />
19
+ <option name="showLibraryContents" value="true" />
20
+ </component>
21
+ <component name="PropertiesComponent"><![CDATA[{
22
+ "keyToString": {
23
+ "ModuleVcsDetector.initialDetectionPerformed": "true",
24
+ "RunOnceActivity.ShowReadmeOnStart": "true",
25
+ "node.js.detected.package.eslint": "true",
26
+ "node.js.detected.package.tslint": "true",
27
+ "node.js.selected.package.eslint": "(autodetect)",
28
+ "node.js.selected.package.tslint": "(autodetect)",
29
+ "nodejs_package_manager_path": "npm",
30
+ "settings.editor.selected.configurable": "terminal",
31
+ "vue.rearranger.settings.migration": "true"
32
+ }
33
+ }]]></component>
34
+ <component name="SharedIndexes">
35
+ <attachedChunks>
36
+ <set>
37
+ <option value="bundled-js-predefined-d6986cc7102b-3aa1da707db6-JavaScript-WS-252.26830.93" />
38
+ </set>
39
+ </attachedChunks>
40
+ </component>
41
+ <component name="TaskManager">
42
+ <task active="true" id="Default" summary="Default task">
43
+ <changelist id="8d47968a-16b9-40b8-a89a-e4bca638b8f3" name="Changes" comment="" />
44
+ <created>1760981663051</created>
45
+ <option name="number" value="Default" />
46
+ <option name="presentableId" value="Default" />
47
+ <updated>1760981663051</updated>
48
+ </task>
49
+ <servers />
50
+ </component>
51
+ <component name="TypeScriptGeneratedFilesManager">
52
+ <option name="version" value="3" />
53
+ </component>
54
+ </project>
client/1.txt ADDED
File without changes
docker-compose.override.yml ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ version: '3.8'
2
+
3
+ services:
4
+ client:
5
+ build:
6
+ context: ./client
7
+ dockerfile: Dockerfile.dev
8
+ ports:
9
+ - "5173:5173"
10
+ volumes:
11
+ - ./client:/app
12
+ - /app/node_modules
13
+ environment:
14
+ - NODE_ENV=development
15
+ command: npm run dev
16
+
17
+ server:
18
+ build:
19
+ context: ./server
20
+ dockerfile: Dockerfile.dev
21
+ ports:
22
+ - "3001:3001"
23
+ volumes:
24
+ - ./server:/app
25
+ - /app/node_modules
26
+ environment:
27
+ - NODE_ENV=development
28
+ command: npm run dev
docker-compose.yml ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ version: '3.8'
2
+
3
+ services:
4
+ client:
5
+ build:
6
+ context: ./client
7
+ dockerfile: Dockerfile
8
+ ports:
9
+ - "80:80"
10
+ depends_on:
11
+ - server
12
+ environment:
13
+ - REACT_APP_API_URL=http://localhost:3001
14
+
15
+ server:
16
+ build:
17
+ context: ./server
18
+ dockerfile: Dockerfile
19
+ ports:
20
+ - "3001:3001"
21
+ environment:
22
+ - DB_HOST=postgres
23
+ - DB_USER=postgres
24
+ - DB_PASSWORD=postgres
25
+ - DB_NAME=bionexus_hub
26
+ - DB_PORT=5432
27
+ depends_on:
28
+ - postgres
29
+
30
+ postgres:
31
+ image: postgres:15
32
+ environment:
33
+ - POSTGRES_USER=postgres
34
+ - POSTGRES_PASSWORD=postgres
35
+ - POSTGRES_DB=bionexus_hub
36
+ volumes:
37
+ - postgres_data:/var/lib/postgresql/data
38
+ ports:
39
+ - "5432:5432"
40
+
41
+ volumes:
42
+ postgres_data:
health-check.bat ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @echo off
2
+ echo Checking BioNexus Hub services...
3
+
4
+ REM Check if server is running
5
+ curl -f http://localhost:3001/health >nul 2>&1
6
+ if %errorlevel% == 0 (
7
+ echo ✅ Server is running
8
+ ) else (
9
+ echo ❌ Server is not responding
10
+ exit /b 1
11
+ )
12
+
13
+ REM Check if client files are accessible
14
+ curl -f http://localhost:80/ >nul 2>&1
15
+ if %errorlevel% == 0 (
16
+ echo ✅ Client is accessible
17
+ ) else (
18
+ echo ❌ Client is not accessible
19
+ exit /b 1
20
+ )
21
+
22
+ echo ✅ All services are healthy
index.js ADDED
@@ -0,0 +1 @@
 
 
1
+ console.log('Happy developing ✨')
package-lock.json ADDED
@@ -0,0 +1,372 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "BioNexus-Hub",
3
+ "version": "1.0.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "BioNexus-Hub",
9
+ "version": "1.0.0",
10
+ "devDependencies": {
11
+ "concurrently": "^8.2.0"
12
+ }
13
+ },
14
+ "node_modules/@babel/runtime": {
15
+ "version": "7.28.4",
16
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz",
17
+ "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==",
18
+ "dev": true,
19
+ "license": "MIT",
20
+ "engines": {
21
+ "node": ">=6.9.0"
22
+ }
23
+ },
24
+ "node_modules/ansi-regex": {
25
+ "version": "5.0.1",
26
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
27
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
28
+ "dev": true,
29
+ "license": "MIT",
30
+ "engines": {
31
+ "node": ">=8"
32
+ }
33
+ },
34
+ "node_modules/ansi-styles": {
35
+ "version": "4.3.0",
36
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
37
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
38
+ "dev": true,
39
+ "license": "MIT",
40
+ "dependencies": {
41
+ "color-convert": "^2.0.1"
42
+ },
43
+ "engines": {
44
+ "node": ">=8"
45
+ },
46
+ "funding": {
47
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
48
+ }
49
+ },
50
+ "node_modules/chalk": {
51
+ "version": "4.1.2",
52
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
53
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
54
+ "dev": true,
55
+ "license": "MIT",
56
+ "dependencies": {
57
+ "ansi-styles": "^4.1.0",
58
+ "supports-color": "^7.1.0"
59
+ },
60
+ "engines": {
61
+ "node": ">=10"
62
+ },
63
+ "funding": {
64
+ "url": "https://github.com/chalk/chalk?sponsor=1"
65
+ }
66
+ },
67
+ "node_modules/chalk/node_modules/supports-color": {
68
+ "version": "7.2.0",
69
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
70
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
71
+ "dev": true,
72
+ "license": "MIT",
73
+ "dependencies": {
74
+ "has-flag": "^4.0.0"
75
+ },
76
+ "engines": {
77
+ "node": ">=8"
78
+ }
79
+ },
80
+ "node_modules/cliui": {
81
+ "version": "8.0.1",
82
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
83
+ "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
84
+ "dev": true,
85
+ "license": "ISC",
86
+ "dependencies": {
87
+ "string-width": "^4.2.0",
88
+ "strip-ansi": "^6.0.1",
89
+ "wrap-ansi": "^7.0.0"
90
+ },
91
+ "engines": {
92
+ "node": ">=12"
93
+ }
94
+ },
95
+ "node_modules/color-convert": {
96
+ "version": "2.0.1",
97
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
98
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
99
+ "dev": true,
100
+ "license": "MIT",
101
+ "dependencies": {
102
+ "color-name": "~1.1.4"
103
+ },
104
+ "engines": {
105
+ "node": ">=7.0.0"
106
+ }
107
+ },
108
+ "node_modules/color-name": {
109
+ "version": "1.1.4",
110
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
111
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
112
+ "dev": true,
113
+ "license": "MIT"
114
+ },
115
+ "node_modules/concurrently": {
116
+ "version": "8.2.2",
117
+ "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-8.2.2.tgz",
118
+ "integrity": "sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==",
119
+ "dev": true,
120
+ "license": "MIT",
121
+ "dependencies": {
122
+ "chalk": "^4.1.2",
123
+ "date-fns": "^2.30.0",
124
+ "lodash": "^4.17.21",
125
+ "rxjs": "^7.8.1",
126
+ "shell-quote": "^1.8.1",
127
+ "spawn-command": "0.0.2",
128
+ "supports-color": "^8.1.1",
129
+ "tree-kill": "^1.2.2",
130
+ "yargs": "^17.7.2"
131
+ },
132
+ "bin": {
133
+ "conc": "dist/bin/concurrently.js",
134
+ "concurrently": "dist/bin/concurrently.js"
135
+ },
136
+ "engines": {
137
+ "node": "^14.13.0 || >=16.0.0"
138
+ },
139
+ "funding": {
140
+ "url": "https://github.com/open-cli-tools/concurrently?sponsor=1"
141
+ }
142
+ },
143
+ "node_modules/date-fns": {
144
+ "version": "2.30.0",
145
+ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz",
146
+ "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==",
147
+ "dev": true,
148
+ "license": "MIT",
149
+ "dependencies": {
150
+ "@babel/runtime": "^7.21.0"
151
+ },
152
+ "engines": {
153
+ "node": ">=0.11"
154
+ },
155
+ "funding": {
156
+ "type": "opencollective",
157
+ "url": "https://opencollective.com/date-fns"
158
+ }
159
+ },
160
+ "node_modules/emoji-regex": {
161
+ "version": "8.0.0",
162
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
163
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
164
+ "dev": true,
165
+ "license": "MIT"
166
+ },
167
+ "node_modules/escalade": {
168
+ "version": "3.2.0",
169
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
170
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
171
+ "dev": true,
172
+ "license": "MIT",
173
+ "engines": {
174
+ "node": ">=6"
175
+ }
176
+ },
177
+ "node_modules/get-caller-file": {
178
+ "version": "2.0.5",
179
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
180
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
181
+ "dev": true,
182
+ "license": "ISC",
183
+ "engines": {
184
+ "node": "6.* || 8.* || >= 10.*"
185
+ }
186
+ },
187
+ "node_modules/has-flag": {
188
+ "version": "4.0.0",
189
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
190
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
191
+ "dev": true,
192
+ "license": "MIT",
193
+ "engines": {
194
+ "node": ">=8"
195
+ }
196
+ },
197
+ "node_modules/is-fullwidth-code-point": {
198
+ "version": "3.0.0",
199
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
200
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
201
+ "dev": true,
202
+ "license": "MIT",
203
+ "engines": {
204
+ "node": ">=8"
205
+ }
206
+ },
207
+ "node_modules/lodash": {
208
+ "version": "4.17.21",
209
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
210
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
211
+ "dev": true,
212
+ "license": "MIT"
213
+ },
214
+ "node_modules/require-directory": {
215
+ "version": "2.1.1",
216
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
217
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
218
+ "dev": true,
219
+ "license": "MIT",
220
+ "engines": {
221
+ "node": ">=0.10.0"
222
+ }
223
+ },
224
+ "node_modules/rxjs": {
225
+ "version": "7.8.2",
226
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz",
227
+ "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==",
228
+ "dev": true,
229
+ "license": "Apache-2.0",
230
+ "dependencies": {
231
+ "tslib": "^2.1.0"
232
+ }
233
+ },
234
+ "node_modules/shell-quote": {
235
+ "version": "1.8.3",
236
+ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz",
237
+ "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==",
238
+ "dev": true,
239
+ "license": "MIT",
240
+ "engines": {
241
+ "node": ">= 0.4"
242
+ },
243
+ "funding": {
244
+ "url": "https://github.com/sponsors/ljharb"
245
+ }
246
+ },
247
+ "node_modules/spawn-command": {
248
+ "version": "0.0.2",
249
+ "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz",
250
+ "integrity": "sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==",
251
+ "dev": true
252
+ },
253
+ "node_modules/string-width": {
254
+ "version": "4.2.3",
255
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
256
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
257
+ "dev": true,
258
+ "license": "MIT",
259
+ "dependencies": {
260
+ "emoji-regex": "^8.0.0",
261
+ "is-fullwidth-code-point": "^3.0.0",
262
+ "strip-ansi": "^6.0.1"
263
+ },
264
+ "engines": {
265
+ "node": ">=8"
266
+ }
267
+ },
268
+ "node_modules/strip-ansi": {
269
+ "version": "6.0.1",
270
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
271
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
272
+ "dev": true,
273
+ "license": "MIT",
274
+ "dependencies": {
275
+ "ansi-regex": "^5.0.1"
276
+ },
277
+ "engines": {
278
+ "node": ">=8"
279
+ }
280
+ },
281
+ "node_modules/supports-color": {
282
+ "version": "8.1.1",
283
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
284
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
285
+ "dev": true,
286
+ "license": "MIT",
287
+ "dependencies": {
288
+ "has-flag": "^4.0.0"
289
+ },
290
+ "engines": {
291
+ "node": ">=10"
292
+ },
293
+ "funding": {
294
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
295
+ }
296
+ },
297
+ "node_modules/tree-kill": {
298
+ "version": "1.2.2",
299
+ "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
300
+ "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==",
301
+ "dev": true,
302
+ "license": "MIT",
303
+ "bin": {
304
+ "tree-kill": "cli.js"
305
+ }
306
+ },
307
+ "node_modules/tslib": {
308
+ "version": "2.8.1",
309
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
310
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
311
+ "dev": true,
312
+ "license": "0BSD"
313
+ },
314
+ "node_modules/wrap-ansi": {
315
+ "version": "7.0.0",
316
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
317
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
318
+ "dev": true,
319
+ "license": "MIT",
320
+ "dependencies": {
321
+ "ansi-styles": "^4.0.0",
322
+ "string-width": "^4.1.0",
323
+ "strip-ansi": "^6.0.0"
324
+ },
325
+ "engines": {
326
+ "node": ">=10"
327
+ },
328
+ "funding": {
329
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
330
+ }
331
+ },
332
+ "node_modules/y18n": {
333
+ "version": "5.0.8",
334
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
335
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
336
+ "dev": true,
337
+ "license": "ISC",
338
+ "engines": {
339
+ "node": ">=10"
340
+ }
341
+ },
342
+ "node_modules/yargs": {
343
+ "version": "17.7.2",
344
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
345
+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
346
+ "dev": true,
347
+ "license": "MIT",
348
+ "dependencies": {
349
+ "cliui": "^8.0.1",
350
+ "escalade": "^3.1.1",
351
+ "get-caller-file": "^2.0.5",
352
+ "require-directory": "^2.1.1",
353
+ "string-width": "^4.2.3",
354
+ "y18n": "^5.0.5",
355
+ "yargs-parser": "^21.1.1"
356
+ },
357
+ "engines": {
358
+ "node": ">=12"
359
+ }
360
+ },
361
+ "node_modules/yargs-parser": {
362
+ "version": "21.1.1",
363
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
364
+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
365
+ "dev": true,
366
+ "license": "ISC",
367
+ "engines": {
368
+ "node": ">=12"
369
+ }
370
+ }
371
+ }
372
+ }
package.json ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "BioNexus-Hub",
3
+ "version": "1.0.0",
4
+ "description": "A lightweight, regional-to-global digital nexus that connects policymakers, companies, researchers, civil society and communities to accelerate bioeconomy solutions that reduce food loss & waste (FLW) and catalyse circular agrifood-system transformation.",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "dev": "concurrently \"npm run dev:client\" \"npm run dev:server\"",
8
+ "dev:client": "cd client && npm run dev",
9
+ "dev:server": "cd server && npm run dev",
10
+ "build": "cd client && npm run build",
11
+ "start": "node index.js",
12
+ "test": "echo \"Error: no test specified\" && exit 1"
13
+ },
14
+ "private": true,
15
+ "devDependencies": {
16
+ "concurrently": "^8.2.0"
17
+ }
18
+ }
server/1.txt ADDED
File without changes
start.bat ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @echo off
2
+ echo Starting BioNexus Hub application...
3
+
4
+ REM Start the server in the background
5
+ cd server
6
+ start npm start
7
+
8
+ REM Wait a moment for the server to start
9
+ timeout /t 5 /nobreak >nul
10
+
11
+ REM Build the client
12
+ cd ../client
13
+ npm run build
14
+
15
+ echo BioNexus Hub application started successfully!
start.sh ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+
3
+ # Startup script for BioNexus Hub on Hugging Face Spaces
4
+
5
+ echo "Starting BioNexus Hub application..."
6
+
7
+ # Start the server in the background
8
+ cd server
9
+ npm start &
10
+
11
+ # Wait a moment for the server to start
12
+ sleep 5
13
+
14
+ # Start the client
15
+ cd ../client
16
+ npm run build
17
+
18
+ echo "BioNexus Hub application started successfully!"