Understanding the Anki source code

Hi! I’m learning programming and am trying to better understand software architecture, and wanted to see if someone could briefly explain the different parts of the Anki source code, what they do, as well as any pointers, etc. I’ve looked through a lot of it on my own, but I still can’t quite wrap my head around the overall function of some of the files and how they piece together to make the program.

There is an architecture.md file that can be a good starting point (and the whole docs directory). Also check Database Structure · ankidroid/Anki-Android Wiki · GitHub for an overview of the database structure.

I also recommend considering some user-visible feature and trying to find where and how it’s implemented in the source code. For example, if I want to understand how duplicate checking works, I would first search the source code for the “Show Duplicates” string shown in the editor when there are duplicates and trace how it’s used and the functions used (hint: Use GitHub search and check the Issues and Pull requests tab in addition to Code).

3 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.