https://github.com/buarki/zipper
file compressor written in C and Wasm from scratch
https://github.com/buarki/zipper
c emscripten huffman-compression-algorithm javascript wasm webassembly
Last synced: 9 months ago
JSON representation
file compressor written in C and Wasm from scratch
- Host: GitHub
- URL: https://github.com/buarki/zipper
- Owner: buarki
- Created: 2024-02-09T03:28:42.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-03-25T03:31:33.000Z (over 1 year ago)
- Last Synced: 2024-12-24T20:36:30.244Z (11 months ago)
- Topics: c, emscripten, huffman-compression-algorithm, javascript, wasm, webassembly
- Language: C
- Homepage: https://zipper-zeta.vercel.app
- Size: 206 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# zipper
## I just want to use it
No prob, visit the project deployed on vercel: https://zipper-zeta.vercel.app.
## What is this project?
It is simple file compressor written in C. It is based on the [Huffman Coding Algorithm](https://en.wikipedia.org/wiki/Huffman_coding), which is a lossless and very efficient compression algorithm.
If you want you to see a full description and overview of this project you can [read my article explaining it in details](https://www.buarki.com/blog/wasm-huffman).
## Developing
### Install Emscripten
Just follow its [documentation](https://emscripten.org/docs/getting_started/downloads.html), this one really works :)
### Activate EMscripten
```sh
source "/path/to/emsdk/emsdk_env.sh"
```
### Build the C binary
```sh
make wasm
```
### Deploying the local server
```sh
make emserve
```
### Running Unit tests
```sh
make test
```
## Deployment
This project is [deployed at Vercel](https://vercel.com/). It basically makes the content present on [public](/public/) directory available to the web.