Giter Club home page Giter Club logo

todo-tracker's Introduction

Implementation

Arguments: tracker <directory> <config.json> <existing_data.json> Program should traverse the directory using multi-threaded technologies and build a list of all detected 'tasks'. The task identification would be based on the specified config.json. For example user could specify multiple different tags for tasks like todo: '@todo', 'TODO:' and bug: '@bug', 'BUG:'. It would then compare the produced list of tasks found with an existing data set and produce a diff of the two datasets with intelligent handling. There are 3 main cases to consider

  • Line changes of tasks
  • If line is same but text has changed of the task
  • If existing task was moved to a different file but kept same text

Languages

In order to develop my own understanding and demonstrate knowledge of various programs, I plan to implement the same program in various different languages. I will blog my experiences with each language and the pros and cons of each language compared to the others, and then at the end I will have broad understanding of the strengths of each language.

Initial Build

  • Bun (JavaScript, for rapid and agile development & prototyping)
  • Bun (TypeScript, to get a sense of the types and structure of program)

Language Development

  • Go (make use of GoRoutines for multi-threaded traversal)
  • Kotlin (new language)
  • C++ (refresh skills in a popular language)
  • Rust (in-depth understanding of the language)

Experimental / Optional Languages

  • OCaml
  • Elixir
  • Common Lisp / Clojure

Roadmap

This project will be a pivotal part in my devpad rescope and will be integrated in that project as soon as there is a working project. The roadmap for the first build is

  1. Traverse Directory (using multi-threaded capabilities)
  2. Load config from .json file
  3. Produce a .json output of the codebase's tasks
  4. Parse existing output for a diff

todo-tracker's People

Contributors

f0rbit 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.