- Move audioFileValidator and audioTagWriter to src/services to underline their role in the application's core logic.
- Create audioController.js in src/controllers to handle validation and API interactions, centralizing request handling and streamlining app.js.
Create a new audioFileValidator module to ensure only audio files are processed. Add directoryFileFetcher module to traverse and fetch file paths from directories.
- src/index.js: Entry point of the CLI application that processes command-line arguments and orchestrates the audio recognition and metadata tagging process.
- src/api/audioRecognition.js: Handles communication with the audio recognition API to identify songs from provided audio files.
- src/api/metadataRetrieval.js: Fetches additional song metadata such as album art, artist, and release date from music metadata services.
- src/utils/fileHandler.js: Manages file I/O operations, including reading audio files and writing metadata to them.
- src/utils/tagWriter.js: Writes the retrieved metadata to the audio files' ID3 tags, leveraging the node-id3 library.