fbchat-dev / fbchat-dev/fbchat
Could you provide information about the "structure" of the project so that new contributers could dive more easily and contribute?
- Dominant language
- Python
- Stars
- 1.2k
- Forks
- 403
- PR merge metrics
- No merged PRs in 30d
Description
## Description
Well, what i'm suggesting is something that many times thought of suggesting to other projects too, but this one i find especially interesting and so i do it.
As an amateur programmer for more than a decade i find it extremely difficult to fix an issue in a project i haven't created by myself. It would be nice if there was some text that would describe the basic structure of the program along with some diagrams. For example a text answering questions of the type:
1. Does this project use the Facebook API?
2. If not does it do scraping on the html data to fetch info?
3. If not even this then how does it communicate with the Facebook (or Messenger) server?
4. What protocol/s does it use?
5. What are the basic components (with the general meaning) of this project? Any explaining diagrams?
6. And finally.. what info would i need to see if i was not an experienced maintainer of this project but an unexperienced one that would like to contribute but doesn't know where to start from?
And to be even more specific..
I was digging in the code of the `search_for_threads` function and show somewhere 'graphql'. Oh! i said, what is this? Some kind of protocol? Ok it uses this protocol. Then i opened the pyproject.toml and looked at the dependencies to see if i would find a dependency about this protocol. But what i found as dependency is paho-mqtt. "OK" i say "what is this mqtt now? Another protocol? Does the project use both? How are they connected?". And i find my self more confused than ever!
I hope i'm not the only person feeling this way and so confused.
There is a lot of self-taught programmers, like me, that would like to contribute in open source and a little "push" from the experienced ones would easily make the impossible possible.
Contributor guide
Assessment
This issue has not been assessed yet.