Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
f0a1501
working local app
ENDERastronaute Sep 19, 2025
898cefc
File integrity check
ENDERastronaute Sep 19, 2025
c316b55
Real time logs
ENDERastronaute Sep 23, 2025
96d1945
Working container + monitoring
ENDERastronaute Oct 6, 2025
c318f87
Live configuration and password
ENDERastronaute Oct 10, 2025
1da36bc
Prevent posting without name and name form style
ENDERastronaute Oct 13, 2025
995cbab
Login styling and button
ENDERastronaute Oct 13, 2025
d248194
Repare prod .env and default password file path
ENDERastronaute Oct 14, 2025
47bd8be
Enable config on build
ENDERastronaute Oct 14, 2025
22f83ee
Ping attempts and radio layout
ENDERastronaute Oct 14, 2025
a92969b
Twitter -> X and Setup in docs
ENDERastronaute Oct 14, 2025
ba931cf
Allow students files to be optional
ENDERastronaute Oct 15, 2025
4e219aa
Fix resources upload and allow optional students file upload
ENDERastronaute Oct 16, 2025
bde4f05
Allow start port 80
ENDERastronaute Oct 16, 2025
a23b8a2
Fix SSE port
ENDERastronaute Oct 16, 2025
1fb1637
Proxy for microsoft NCSI
ENDERastronaute Oct 22, 2025
ef9d65c
Add error on ping timeout
ENDERastronaute Oct 23, 2025
cdf0f31
Fix typo
ENDERastronaute Oct 23, 2025
5794b1c
Notifications
ENDERastronaute Oct 24, 2025
93bde47
Understandable config
ENDERastronaute Oct 24, 2025
e7fc1bb
Fix default configuration idx
ENDERastronaute Oct 24, 2025
10faad9
Fix UUID gen client side
ENDERastronaute Oct 24, 2025
0bd3b9e
Fix versioning of student files + notifications style
ENDERastronaute Oct 24, 2025
a60c071
Remove test notifications
ENDERastronaute Oct 24, 2025
9d180d3
Catch router connection errors
ENDERastronaute Oct 27, 2025
5402873
Fix RT logs animation and remove duplicates
ENDERastronaute Oct 27, 2025
9a83a99
Remove login log duplicate
ENDERastronaute Oct 27, 2025
0668f13
New configuration and proxy redirect
ENDERastronaute Nov 24, 2025
59cf587
new config
ENDERastronaute Nov 24, 2025
451998c
Various optimizations and loaders
ENDERastronaute Nov 25, 2025
1f30640
Fix resources link
ENDERastronaute Nov 25, 2025
508c5ef
Set payload size to 1GB
ENDERastronaute Nov 25, 2025
4621743
SSE Fix + Responsible
ENDERastronaute Nov 27, 2025
8055ef1
Navigation between pages and UI fix
ENDERastronaute Nov 28, 2025
49f7694
File explorer
ENDERastronaute Dec 2, 2025
e597c03
File explorer fix 1
ENDERastronaute Dec 2, 2025
708f5a5
File explorer fix 2 - root access
ENDERastronaute Dec 2, 2025
ad82b32
File explorer fix 3 - relative paths
ENDERastronaute Dec 2, 2025
6847c22
Documentation - temporary
ENDERastronaute Dec 2, 2025
115d1bf
Monitor Infos, style and remove unnecessary files
ENDERastronaute Dec 4, 2025
250340f
Style
ENDERastronaute Dec 4, 2025
a4f6890
Two inputs for name
ENDERastronaute Dec 16, 2025
c4053b7
Drag and drop
ENDERastronaute Dec 16, 2025
4852163
Network and storage fix
ENDERastronaute Dec 16, 2025
bcac6c9
Explorer uploads parent directory
ENDERastronaute Dec 16, 2025
0379d4b
Admin landing page
ENDERastronaute Dec 16, 2025
9ef915b
Shift click on explorer
ENDERastronaute Dec 16, 2025
548eb56
Can have missing files
ENDERastronaute Dec 16, 2025
cc608d0
Lock system
ENDERastronaute Dec 18, 2025
08f93bb
Parallel ping issue fix
ENDERastronaute Dec 18, 2025
ffef44c
unlock code in finally
ENDERastronaute Jan 5, 2026
35be35f
Fix logs lags
ENDERastronaute Jan 6, 2026
6a6792b
No more delay between chunks
ENDERastronaute Jan 6, 2026
8283e9b
Update package.json
ENDERastronaute Jan 6, 2026
a08a813
SSE Rework, lock SSE and handshake
ENDERastronaute Jan 6, 2026
bab6662
SSE Rework fix
ENDERastronaute Jan 8, 2026
9de7160
More attempts before disconnected status
ENDERastronaute Jan 9, 2026
156ebb2
Log on finish
ENDERastronaute Jan 9, 2026
72ac4fb
Admin manual finish
ENDERastronaute Jan 9, 2026
498eeb1
Parallel pinging again
ENDERastronaute Jan 9, 2026
e076e53
Various security fixes
ENDERastronaute Jan 9, 2026
967aba7
Documentation update
ENDERastronaute Jan 9, 2026
77841d7
Version update
ENDERastronaute Jan 9, 2026
5da6903
git ignore fix
ENDERastronaute Jan 9, 2026
147acf0
.gitignore fix 2 and no more node_modules
ENDERastronaute Jan 9, 2026
cd9349a
Hash stream and logger redundancy
ENDERastronaute Jan 12, 2026
7e7a471
Merge pull request #25 from ISC-HEI/ram_optimization
ENDERastronaute Jan 12, 2026
0eb50a3
Documentation update
ENDERastronaute Jan 12, 2026
2468475
ESLint build fixes
ENDERastronaute Jan 12, 2026
a440f02
Switch from polling to beaconing
ENDERastronaute Jan 9, 2026
a712b49
Removing router credentials from .env files
ENDERastronaute Jan 9, 2026
ecda464
README docker hub
ENDERastronaute Jan 12, 2026
80129ed
Update config + fix #26
ENDERastronaute Jan 13, 2026
579afc8
Fix missing dependency array
ENDERastronaute Jan 13, 2026
0568c54
Wifi bandwidth modification
ENDERastronaute Jan 13, 2026
822ecdc
No empty upload, date folder and color
ENDERastronaute Jan 13, 2026
c3b7a3c
Merge pull request #29 from ISC-HEI/explorer_features
ENDERastronaute Jan 13, 2026
01f10aa
README docker hub
ENDERastronaute Jan 12, 2026
29c09c6
Update config + fix #26
ENDERastronaute Jan 13, 2026
4bc5866
Wifi bandwidth modification
ENDERastronaute Jan 13, 2026
c0cd3dc
No empty upload, date folder and color
ENDERastronaute Jan 13, 2026
ffb8728
Merge pull request #24 from ISC-HEI/network_rework
ENDERastronaute Jan 19, 2026
80ea9ad
Calculate offset
ENDERastronaute Jan 19, 2026
7d6cde7
Merge pull request #31 from ISC-HEI/timestamp_fix
ENDERastronaute Jan 19, 2026
a0c4b57
More logs
ENDERastronaute Jan 19, 2026
e1807bb
Dev docs
ENDERastronaute Jan 19, 2026
c403f0f
More docs
ENDERastronaute Jan 19, 2026
f57e450
Heartbeat timeout fix
ENDERastronaute Jan 20, 2026
6b0d627
SSE rework
ENDERastronaute Jan 20, 2026
d48027d
Lodash vulnerability fix
ENDERastronaute Jan 22, 2026
12a14cb
Heartbeat wait fix
ENDERastronaute Jan 30, 2026
1f457c8
SSE admin state split and bigger timeout
ENDERastronaute Feb 3, 2026
cb3743e
Next force 15.5.9
ENDERastronaute Feb 3, 2026
00e5be3
Merge pull request #33 from ISC-HEI/monitoring_rework
ENDERastronaute Feb 3, 2026
f5f5f65
ARM64v8 Container
ENDERastronaute Feb 5, 2026
cf53516
Storage to ramdisk
ENDERastronaute Feb 5, 2026
bbaf3eb
No more sqlite
ENDERastronaute Feb 5, 2026
e1efd6c
arm64 fix + since hour fix
ENDERastronaute Feb 9, 2026
dae575e
Merge pull request #34 from ISC-HEI/storage_fix
ENDERastronaute Feb 9, 2026
9288c7a
Version update
ENDERastronaute Feb 9, 2026
843f21f
Dev guide update
ENDERastronaute Feb 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
49 changes: 49 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,50 @@
site/
*.old/
*.old

# cache
.buildx-cache


# dependencies
app/node_modules
app/.pnp
app/.pnp.*
app/.yarn/*
!app/.yarn/patches
!app/.yarn/plugins
!app/.yarn/releases
!app/.yarn/versions

# testing
/app/coverage

# next.js
/app/.next/
/app/out/

# production
/app/build

# misc
.app/DS_Store
*app/.pem

# debug
napp/pm-debug.log*
yapp/arn-debug.log*
yapp/arn-error.log*
.app/pnpm-debug.log*


# vercel
.app/vercel

# typescript
app/*.tsbuildinfo
app/next-env.d.ts

app/logs/
app/uploads/
app/resources/db/*
app/resources/.password
2 changes: 1 addition & 1 deletion Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Setup guides to use or config the system are available in the [online documentat

## Technical infos

The whole webserver is packaged in a docker image and is currently published in [dockerhub](https://hub.docker.com/r/stevedevenes/hybridproctor-arm/tags).
The whole webserver is packaged in a docker image and is currently published in [dockerhub](https://hub.docker.com/r/enderastronaute/hybridproctor-arm-dev/tags).

There is some helpers rules in the [makefile](makefile) to:
- Build the docker image, either for your current machine or for deploying in the router.
Expand Down
16 changes: 16 additions & 0 deletions app/.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Log level : default or debug
LOG_LEVEL=debug
# Root path, used by explorer, default = /mount_point/
ROOT_PATH=.
# Log folder path, default = /mount_point/logs
LOG_PATH=logs
# Upload folder path, default = /mount_point/uploads
UPLOAD_PATH=uploads
# IP of the mikrotik router
IP=192.168.88.1:3131
# URL of the server, used for SSE
URL=http://localhost:3000
# Name of the exam file (must be HTML), default = exam.html
EXAM_FILE_NAME=default
# Password file location, default = /mount_point/.password
PASSWORD_FILE=resources/.password
17 changes: 17 additions & 0 deletions app/.env.prod
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Log level : default or debug
LOG_LEVEL=default
# Root path, used by explorer, default = /mount_point/
ROOT_PATH=default
# Log folder path, default = /mount_point/logs
LOG_PATH=default
# Upload folder path, default = /mount_point/uploads
UPLOAD_PATH=default
# IP of the mikrotik router
IP=172.17.0.1:3131
# URL of the server, used for SSE
URL=http://10.0.0.1
# Name of the exam file (must be HTML), default = exam.html
EXAM_FILE_NAME=default
# Password file location, default = /mount_point/.password
PASSWORD_FILE=default

112 changes: 0 additions & 112 deletions app/app.js

This file was deleted.

148 changes: 0 additions & 148 deletions app/config/nginx.conf

This file was deleted.

29 changes: 29 additions & 0 deletions app/eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import { dirname } from "path";
import { fileURLToPath } from "url";
import { FlatCompat } from "@eslint/eslintrc";

const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);

const compat = new FlatCompat({
baseDirectory: __dirname,
});

const eslintConfig = [
...compat.extends("next/core-web-vitals", "next/typescript"),
{
ignores: [
"node_modules/**",
".next/**",
"out/**",
"build/**",
"next-env.d.ts",
],
rules: {
"@typescript-eslint/no-require-imports": "off",
"@typescript-eslint/no-unused-vars": "off",
}
},
];

export default eslintConfig;
Loading