Git Product home page Git Product logo

sk's Introduction

Private Mentored Community Management Tool

GoDoc License Go Report Card

The sk command (and optional .bashrc function) make the life of a private mentored learning community manager easier but only for those who prefer a command-line interface.

The utility specifically focuses on the following needs:

  • Navigate into the YAML member, session, and other data directories quickly.
  • Quickly add invoice and session data during a text-edit session (vim-centric).
  • Print terminal views of member and session data for quick reference.
  • Automated email progress reporting to parents, sponsors, and members.

The command comes with built in tab completion using Complete Commander.

Ongoing Project

This particular tool is one that will be continually ongoing but is in production use now at SKILSTAK.

Admittedly the biggest thing missing right now is full documentation including specific examples of the YAML files used in the database.

Design Decisions

Most of the design decisions are based on the fundamental premise that this utility should be fast and easy to fork and customize for those who wish. Subcommands can be easily added or removed simply by adding and removing the <subcommand>.go file thanks to the use of Complete Commander.

  • Just YAML. No mentored community should ever grow bigger than 60 members and even that is pushing it. (Remember, the community mentor/leader must have mentoring sessions with each member about once a week and still do most of the work to manage the business and content of the community. 25 (5 hours a day) is a much healthier number. Based on this expectation there simply is no need for a complicated database system, just simple YAML files that are extremely easy for humans to read and write without errors. Loading every separate file for the community into memory --- even after several years of attendance records --- takes a few milliseconds. This also allows ultimate flexibility in what information is maintained for any specific community.

  • Go language. Go is simply the best language for this kind of utility for multiple reasons including YAML and JSON marshalling, ridiculously easy date and time function, built-in cryptography, cross compilation, simply concurrency, full Unicode support, strict typing, and fast development, compile, and execution time. Indeed this was the reason it was created originally at Google. There is simply no better language on the planet for such things at the moment, which is no surprise given that it was created by those involved in creating C, UNIX, UNICODE, and many of the modern Java fixes.

  • No separate library. Just no need. The model is simple and documented elsewhere. The view and controller are fused.

sk's People

Contributors

rwxrob avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.