Update CONTRIBUTING.md

This commit is contained in:
Austin Huang 2020-08-26 16:06:57 -04:00 committed by GitHub
parent 5839bd0780
commit f94505f667
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 21 additions and 0 deletions

View File

@ -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).