What are we going to build?
The goal is to build an API with utility functions.
The system is to be used by a technical savvy user, via a REST endpoint or a command line interface (CLI).
The system can use external APIs for specialized functionalities or data, for example, to fetch exchange rates for currency conversions.
The system will be supported by two applications, the API and the CLI. The CLI is just a thin wrapper calling the API. All the logic is inside the API.
The API is divided into two components, a API exposed via a web server and a Library responsible by implementing the logic of the utility functions.
Each component (library, API and CLI) are going to be implemented with different projects.
NOTE: diagrams use the C4 model for visualizing software architecture.
Next
The next section is Prepare the development environment.