Strackt is a tool, a tool that should be available to help you in any scenario that you need. To that means that you should be able to interact with it in two ways: through an API or through an easy-to-use front-end UI. After that, it should get out of the way as soon as possible.
In terms of building those options, they should be on a completely equal footing; everything you can do in the front-end, you should be able to do through the API, and vice versa.
Codewise, this means that the actual actions should be decoupled from the input and output. Structurally this drove me to look into a service-based design pattern. Quite interesting to find good ways to keep clean and safe code.
For Strackt, most in and output will be JSON based; for the API it's JSON over REST, for the frontend it will be JSON passed to Vue. Getting this down to a well-structured model is a cool experiment.
Done
- Basic testing for the core functionality 👨💻
Upcoming
- Service structure research 🧐