1
0
mirror of https://github.com/mum4k/termdash.git synced 2025-04-25 13:48:50 +08:00

termdash

This project implements a terminal based dashboard. The feature set is inspired by the gizak/termui project, which in turn was inspired by a javascript based yaronn/blessed-contrib. Why the rewrite you ask?

  1. The above mentioned gizak/termui is abandoned and isn't maintained anymore.
  2. The project doesn't follow the design goals outlined below.
  3. The project is released under a licence I cannot use.

Design goals

This effort is focused on good software design and maintainability. By a good software I mean:

  1. Write readable, well documented code.
  2. Only beautiful, simple APIs, no exposed concurrency, channels, internals, etc.
  3. Follow Effective Go.
  4. Provide an infrastructure that allows development of individual dashboard components in separation.
  5. The infrastructure must enforce consistency in how the dashboard components are implemented.
  6. Focus on maintainability, the infrastructure and dashboard components must have good test coverage, the repository must have CI/CD enabled.

On top of that - let's have fun, learn something and become better developers together.

Requirements

  1. Apache-2.0 licence for the project.
  2. Tree based container for placing dashboard elements.
  3. Mouse and keyboard input.
  4. Cross-platform terminal based output.
  5. Unit testing framework for simple and readable tests of dashboard elements.
Description
Languages
Go 99.9%