This repository has been archived by the owner on Jul 26, 2020. It is now read-only.
Refactor Bake CLI #1
Labels
enhancement
New feature or request
in progress
Issue is being actively worked on
xp/developer
Aims to improve the experience for BreadTube developers
Description
Currently, the
bake
CLI is both out-of-date with the current state of the repo (see #171), and rather difficult to maintain. In order to improve the situation I have some suggestions and ideas.App Structure
Moving to the hexagonal architecture pattern for structuring the app. Inspiration and more info can be found in this great talk by @katzien:
Video
Slides
golang-standards/project-layout
I propose moving to the following structure:
API Design
APIs should provide clear and generic interfaces. In the case of a provider, each provider should have a common set of functions that ensures it conforms to the provider interface. E.g.
<provider>.Load()
,<provider>.Add()
,<provider>.Delete()
etc.Creator will consume providers, with config passed from
cmd
into the creator.Example of the code workflow (I haven't tested this code, it's just an idea):
...and so on.
This will provide us with an easy way of adding new providers, which can easily be added to creators, which in term can easily be consumed by the CLI.
Implementation
WIP
The text was updated successfully, but these errors were encountered: