{"id":18511643,"url":"https://github.com/sondosaabed/huffman-interface","last_synced_at":"2025-04-09T04:33:58.832Z","repository":{"id":147490925,"uuid":"467503793","full_name":"sondosaabed/Huffman-Interface","owner":"sondosaabed","description":"Huffman code interface. Java | JavaFX","archived":true,"fork":false,"pushed_at":"2023-11-23T00:32:18.000Z","size":40,"stargazers_count":11,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-03T01:29:13.712Z","etag":null,"topics":["huffman-coding","java","javafx-application"],"latest_commit_sha":null,"homepage":"","language":"Java","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/sondosaabed.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-03-08T12:31:39.000Z","updated_at":"2024-12-08T15:24:03.000Z","dependencies_parsed_at":"2023-11-23T01:35:12.862Z","dependency_job_id":"905a60a6-ae2a-426f-8393-a97986d24bbe","html_url":"https://github.com/sondosaabed/Huffman-Interface","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sondosaabed%2FHuffman-Interface","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sondosaabed%2FHuffman-Interface/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sondosaabed%2FHuffman-Interface/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sondosaabed%2FHuffman-Interface/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sondosaabed","download_url":"https://codeload.github.com/sondosaabed/Huffman-Interface/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247980832,"owners_count":21027803,"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":["huffman-coding","java","javafx-application"],"created_at":"2024-11-06T15:29:15.641Z","updated_at":"2025-04-09T04:33:58.336Z","avatar_url":"https://github.com/sondosaabed.png","language":"Java","readme":"\u003cdiv align=\"center\"\u003e\n\n  _Better Code found here https://github.com/sondosaabed/Huffman-encoding_  \n\n\u003c/div\u003e\n\n\n# Huffman Coding User Interface\nThis is a user interface for a Java desktop application, the application that would apply Huffman Coding.\n\n# Huffman Coding\nHuffman coding is a lossless data compression algorithm. The idea is to assign variable length codes to input characters; lengths of the assigned codes are based on the frequencies of corresponding characters. The most frequent character gets the smallest code and the least frequent character gets the largest code.\nThe variable-length codes assigned to input characters are Prefix Codes, means the codes (bit sequences) are assigned in such a way that the code assigned to one character is not prefix of code assigned to any other character. This is how Huffman Coding makes sure that there is no ambiguity when decoding the generated bit stream.\n\nIn this project I used JavaFX For User Graphical inteface. This project is built as an assignment for Algorithm course.\n\n# Running the project \nThis is only the user inerface used so in order to run the project, needs the JavaFx library to be build on the projecet path. \n\n# File format\nFile format could be anything, the applicaction must be able to compress any type of file. \n\n# Programms versions\njavafx.version=17.0.1,  \nJava.version=17.0.8\n\n# Screenshots of Application\n\nHome screen asks the user to browse for a file in order to be compressed or decompressed:\n\n![1](https://user-images.githubusercontent.com/65151701/157238820-8dc6ad4d-afd4-498d-9656-f1076f276f19.png)\n\nUser screen to emply that the file was ready to be processed and nothing was wrong with reading the file:\n\n![2](https://user-images.githubusercontent.com/65151701/157238833-b33c3db7-64ec-46dd-b24e-a838326a0d23.png)\n\nScreen to ask what options does the user want to do with the file uploaded:\n\n![3](https://user-images.githubusercontent.com/65151701/157238849-55b21e56-f34e-4bdf-9a33-080b47ff8e7e.png)\n\nScreen user to update the user for the file state to be downloaded: \neither it's compressed:\n\n![4](https://user-images.githubusercontent.com/65151701/157238885-bcda57ae-c5bd-4679-8a6c-68737a6efdaa.png)\n\nOr decompressed: \n\n![5](https://user-images.githubusercontent.com/65151701/157238900-0e545c9a-6418-47ec-a8c1-ad03dfc4ad12.png)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsondosaabed%2Fhuffman-interface","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsondosaabed%2Fhuffman-interface","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsondosaabed%2Fhuffman-interface/lists"}