Ziplinks is a web server that takes in web urls and combines them into a single shortened link.
It can be used to share a batch of links easily, save workflows or whatever you can come up with.
This was created to share reddit posts with my family when I visit, it is the server version of fanout-links.
You may build the server via image with make or with uncontainerized with Rust.
Make
make build
make run
Rust
cargo build
cargo run
Ziplinks is a purpose built web server and has only the parts it needs written (as opposed to implemented the entire HTTP protocol). There's a few things we need to do to make the code more sustainable / scalable in we were to extend this application.
- Database integration
- For simplicity, links are currently stored in a memory cache, as the size of links is incredibly small.
- In the future a database should be used to be able to run more instances of ziplinks and increase throughput
- Better link primitives
- Links should have meta data including timestamps etc for future clean up
- Better support for webpage generation
- Only the basics implemented, we need a better way to insert headers / body elements for more complicated pages