Skip to content

topch1k/zui.rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Description


This project is part of the Ukraine Rust Community bootcamp study process. It introduces a basic implementation of a Terminal User Interface (TUI) for Zookeeper.

Zookeeper + TUI + Rust = zui.rs

At present, the application supports basic operations such as create, read, update, and delete (CRUD) for Zookeeper nodes. The backbone of this project is the Ratatui framework, which provides robust tools for creating TUI-based applications.

Available Operations


  1. Connect to Zookeeper using provided connection parameters (connection string can be passed as an app parameter or configured within the app).
  2. Create persistent nodes (other types of nodes will be added later).
  3. Delete nodes.
  4. Retrieve node children.
  5. Retrieve node statistics.
  6. Set node data.
  7. Retrieve node data in different formats:
    1. Raw bytes representation
    2. String representation
    3. JSON representation

TODO:


  1. Add options for node creation:
  2. Ephemeral node
  3. Persistent sequential node
  4. Ephemeral sequential node
  5. Node with TTL
  6. Add a DeleteAll operation to recursively delete nodes.
  7. Add functionality for retrieving ephemeral nodes.
  8. Implement node watching functionality.
  9. Add functionality for working with ACLs.
  10. Add different application modes:
  11. ReadOnly mode - only read operations are allowed.
  12. NonDelete mode - node deletion is forbidden.
  13. Refactor code to resolve architectural issues.
  14. Polish the UI/UX.

Disclaimer


This tool may contain bugs. Therefore, be very careful when working with real data.

If you have the ability and desire to contribute, you are welcome!

Demo video


Demo Video

Releases

No releases published

Packages

No packages published

Languages