This isn't really a guide yet, more an outline on how I am currently developing the project. If you do want to contribute, please contact me.
Here is a very rough overview of the steps I take to add a new feature:
- Outline what the feature should do and where in the code it will fit (Can it be added to an existing class, or does it need its own class?)
- Go through the actions in the Storytel mobile app, and inspect the network traffic with mitmproxy.
- Write code to copy the request(s) needed for the feature
- If needed, add types for the response
- Write tests to accompany the new feature
This is after programming, because usually it is unclear what the exact functionality of an API endpoint is during development.