{"id":23382151,"url":"https://github.com/tuke307/dhbw-file-browser","last_synced_at":"2025-04-08T08:44:53.309Z","repository":{"id":212070560,"uuid":"654549410","full_name":"tuke307/dhbw-file-browser","owner":"tuke307","description":null,"archived":false,"fork":false,"pushed_at":"2023-07-28T14:24:10.000Z","size":18606,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-14T05:41:19.991Z","etag":null,"topics":["file-browser","javascript"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tuke307.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-06-16T11:19:23.000Z","updated_at":"2024-10-15T12:56:34.000Z","dependencies_parsed_at":"2023-12-12T11:57:04.502Z","dependency_job_id":null,"html_url":"https://github.com/tuke307/dhbw-file-browser","commit_stats":null,"previous_names":["tuke307/file-browser","tuke307/dhbw-file-browser"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tuke307%2Fdhbw-file-browser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tuke307%2Fdhbw-file-browser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tuke307%2Fdhbw-file-browser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tuke307%2Fdhbw-file-browser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tuke307","download_url":"https://codeload.github.com/tuke307/dhbw-file-browser/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247808120,"owners_count":20999660,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["file-browser","javascript"],"created_at":"2024-12-21T21:17:46.654Z","updated_at":"2025-04-08T08:44:53.286Z","avatar_url":"https://github.com/tuke307.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HTML5-Dateibrowser\n\n## Installation\n### WebService\nZunächst muss die `WebService.zip` an einem beliebigen Ort entpackt und mithilfe von Docker gehostet werden. Mehr dazu in `api.pdf`.\n\n### Dateibrowser (HTML, JavaScript, CSS)\nIn der `config.js` muss der Port der Webservice API notiert werden.\nDanach kann die Website mit einem beliebigen Hosting-Tool zum laufen gebracht werden.\nFür dieses Projekt wurde dabei der [static-server](https://www.npmjs.com/package/static-server) benutzt.\n \n## Unterstützte browser\nUntersützt werden jegliche Browser, die HTML5 unterstützen. Einige Beispiele währen dabei Google Chrome, Firefox, Microsoft Edge oder Opera.\n\n## Laufzeitumgebung\nDas Projekt wurde ausschließlich in JavaScript, HTML und CSS entwickelt.\n\n## Struktur\nDie Struktur des Projektes ist wie folgt aufgebaut:\n* `config.js` - Konfigurationsdatei für die API\n* `elements.js` - JavaScript-Datei, die die HTML-Elemente abruft\n* `api.js` - JavaScript-Datei, die die API-Anfragen an den WebService sendet\n* `events.js` - JavaScript-Datei, die die Events der HTML-Elemente behandelt\n* `authentication.js` - JavaScript-Datei, die die Authentifizierung behandelt\n* `filemanager.js` - JavaScript-Datei, die die Dateiverwaltung behandelt\n* `utils.js` - JavaScript-Datei, die Hilfsfunktionen enthält\n* `style.css` - CSS-Datei, die das Design der Website festlegt\n* `index.html` - Startseite des Dateibrowsers\n\n\n## Sicherheit \nDie Authentifizierung erfolgt über Nutername und Passwort. Die `login(username, password)` Funktion sendet dabei eine Anfrage an den Webservice. Der Token wird dann in den Cookies gespeichert und bei jeder weiteren Anfrage an den Webservice mitgesendet. Der Token ist dabei 500 Millisekunden gültig.\n\nDer Logout erfolgt über die `logout()` Funktion, die den Token aus den Cookies löscht.\n\n\n## Darstellung\nDie Anpassung an das Browserfenster erfolgt über CSS. Die Website ist dabei für die Darstellung auf einem Desktop-Browser optimiert.\n\nDie Usability ist dabei auf die Bedienung mit der Maus ausgelegt. Die Bedienung mit der Tastatur ist nicht möglich.\n\nDie Fehlererkennung erfolgt dabei auf zwei Ebenen. Sobald Fehler auftreten, bei den WebService Aufrufen, werden diese in der Konsole des Browsers ausgegeben.\nIn den Funktionen die den Webservice Aufruf machen, wird der Status Code abgefragt und Fehlermeldungen in einem Pop-Up Fenster angezeigt.\n\nDie Verzeichnisse und Dateitypen werden dabei in einer Tabelle dargestellt. Die spezifischen Funktionen werden über Dateiendung erkannt und festgelegt.\n\n\n## Navigation \nDie Navigation erfolgt über die `currentPath` Variable. Dort wird der derzeitige Pfad angezeigt.\n\nDie Navigation in einen spezifischen Ordner erfolgt über die `goToPath(name)` Funktion.\n\nDie Navigation zurück, erfolgt uber die  `goBack()` Funktion.\n\n## Datei-Handling\nDie Datei Ansicht wird über die `viewFile(name)` Funktion gehandhabt. Je nacht Dateityp wird das dazugehörige HTML-Viewer-Element angezeigt.\n\n\n## Verzeichnis-Handling\nVerzeichnis löschen mit `deleteItem(item)` Funktion.\n\nVerzeichnis erstellen mit `createDirectory(name)` Funktion.\n\n\n## Datenschutz\nDie Google Fonts wurden lokal eingebunden und sind damit DSGVO konform.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftuke307%2Fdhbw-file-browser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftuke307%2Fdhbw-file-browser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftuke307%2Fdhbw-file-browser/lists"}