diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 5ebf3817..b126cbed 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -23,6 +23,27 @@ Check errors are for reference only. Try to minimize them, but usually they don' **NEVER touch the l10n-master branch.** It's automatically managed by Crowdin. +### Structure + +It is preferred that you read the scripts yourself, as my understanding (and presentation) may be basic. + +* `awais.instagrabber` + * `activities`: Scripts directly binding to each view. Assigns `adapters`. + * `adapters`: Scripts used to present a list of `models` from `asyncs` into `activities`. + * Those inside `viewholder` are for frontend, while others are for backend. + * `asyncs`: Scripts used to communicate with Instagram. Returns `models` which is sent to `adapters`. + * `asyncs.i`: Scripts that fetch data from `i.instagram.com`, except DM. + * `asyncs.direct_messages`: As the name suggests, communication scripts used for DM. + * `customviews`: Custom frontend components for this app. + * `dialogs`: Scripts directly binding to dialogs (i.e. those that are nested in the main view). + * `fragments.directmessages`: Scripts directly binding to each fragment ("small views") within `DirectMessageActivity` in `activities`. + * `interfaces`: Custom backend components for this app. + * `models`: Data structure for Instagram API responses from `asyncs`. + * `utils`: Various tools. + * `MainHelper.java` is basically an extension of `activities.main`. +* `awaisomereport`: Crash reporter. Shouldn not require too much maintenance. +* `thoughtbot.expandableadapter`: These are for the follower comparison view, which allows grouping users. + ### I can't code Java, but I want to! Fun fact: Austin took over this project and learned Java on the fly (I'm not joking, I only do JavaScript before taking this over).