diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 00000000..bf3dd521 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1 @@ +liberapay: Plexus \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100755 index 00000000..b3844e5c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,41 @@ +name: Bug report +description: Report a bug or issue with the app +title: "[Issue]: " +labels: ["bug"] +body: + - type: textarea + id: desc + attributes: + label: Description + description: A clear & concise description of what the issue is. + validations: + required: true + - type: textarea + id: repsteps + attributes: + label: Steps to reproduce the issue + validations: + required: true + - type: textarea + id: logs + attributes: + label: Error messages/logs + description: | + If possible, provide the error messages/logs to make it easier to identify the issue. + validations: + required: false + - type: textarea + id: addcontext + attributes: + label: Additional context + description: Any other relevant information or context that can help us understand the issue. + validations: + required: false + - type: checkboxes + id: terms + attributes: + label: Terms + description: By reporting this issue, you acknowledge the following + options: + - label: This is not a duplicate of another issue. + required: true diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100755 index 00000000..c966f513 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,28 @@ +name: Feature request +description: Suggest a new idea for this project +title: "[Feature request]: " +labels: ["enhancement"] +body: + - type: textarea + id: desc + attributes: + label: Description + description: A clear and concise description of the feature or change you would like to see in the app. + validations: + required: true + - type: textarea + id: addcontext + attributes: + label: Additional context + description: | + Provide any additional information, screenshots, or examples that would help illustrate your feature request. + validations: + required: false + - type: checkboxes + id: terms + attributes: + label: Terms + description: By submitting this feature request, you acknowledge the following + options: + - label: This is not a duplicate of another feature request. + required: true \ No newline at end of file diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100755 index 00000000..cbc0161f --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,128 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +`contact@techlore.tech`. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. diff --git a/PRIVACY.md b/PRIVACY.md new file mode 100644 index 00000000..238eb1c8 --- /dev/null +++ b/PRIVACY.md @@ -0,0 +1,34 @@ +# Plexus Privacy Policy + +Techlore, Inc. is committed to protecting the privacy of its users. Like everything we do, we've designed this policy to be simple and accessible to all. + +This privacy policy applies to your use of the Plexus software application on mobile devices. + +The terms “we,” “us,” and “our” refer to Techlore, Inc., while “you” and "your" refers to you, as a user of the Plexus app. + + +## Data collection +- Your email. It will be used for verification purposes only and will be removed from our systems after verifying. This is done to: + - prevent potential abuse of our API. + - ensure accuracy of the data submitted. +- When you submit ratings for any app, the following data is uploaded to the server: + - App name + - App package + - App version + - App build + - Installation source of the app (Google Play alternative/F-Droid/apk) + - ROM name + - Device brand and model (only if Stock ROM is selected) + - ROM build + - Android version + - de-Googled device or microG + - Your rating + - Any information you optionally submit in the notes field + +Except for the data mentioned above, no other personally identifiable information is stored on the server. + + +## Changes to our privacy policy +We reserve the right to modify this Privacy Policy and our Terms of Use as needed. If any changes are made, we will post them on this page to ensure you are always aware of the information we collect, how we use it, and when we disclose it. It is your responsibility to review any updates to this Privacy Policy. If you disagree with any modifications, if and when such changes may be made to this Privacy Policy, you must stop using this application. + +**Last modified: Jul 17, 2024** \ No newline at end of file diff --git a/README.md b/README.md index a336b019..97e3c5a0 100644 --- a/README.md +++ b/README.md @@ -1,90 +1,59 @@ + + # Plexus ***Remove the fear of Android app compatibility on de-Googled devices.*** [![CI](https://github.com/techlore/plexus/actions/workflows/ci.yaml/badge.svg)](https://github.com/techlore/plexus/actions/workflows/ci.yaml) -## Important updates as of May 12, 2022 -Hey everyone, thanks for visiting the repo & thank you to all contributors. Plexus is going through a massive transition right now: -* [The Plexus application has been released](https://github.com/techlore/Plexus-app) -* [The Plexus data in that repo is now in JSON format](https://github.com/techlore/Plexus-app/blob/main/Plexus.json) meaning we now have two different datasets, at least temporarily. -* The JSON format is already better than the terrible CSV format in this repo, but the JSON format is actually temporary. We are working on an API to avoid the entire GitHub submission workflow. -* Because so many changes are happening at once, we will not be accepting pull requests until our new workflow is completed. Once it's completed, we will be manually porting over your submissions to the new data and closing the PRs. -* Once everything is completed, all submissions will only be done via the application. We don't have an estimate yet, but it'll be the best ever experience once this is completed, enabling anyone to easily submit apps in an automated fashion in bulk. - - -## Explanation - -Google Play Services are an integral part of most Android devices that enable users to utilize their Google account on their phone, as well as enable Google-specific features for applications that rely on them. - -When users move to a de-googled ROM like GrapheneOS, CalyxOS or LineageOS, they are faced with opening their standard applications hoping they work. Plexus aims to beat the guessing game and allow users to know exactly what will happen once they flash a new ROM. Plexus supports ROMs with no Google Play Services e.g: [(GrapheneOS)](https://grapheneos.org/), as well as ROMs with [microG](https://microg.org/), an open source alternative of Google Play Services, e.g: [(CalyxOS)](https://calyxos.org/). - -## Navigating Plexus - -* To view app data, visit the [Plexus Website](https://plexus.techlore.tech/) -* To view the CSV spreadsheet (and contribute) view it [here](./src/data/Plexus.csv). +## Contents +- [Overview](#overview) +- [Help & FAQs](#help--faqs) +- [Privacy policy](#privacy-policy) +- [Issues](#issues) +- [Contributing](#contributing) +- [Future Plans & Goals](#future-plans--goals) +- [Credits](#credits) +- [License](#license) -* To create or view app requests where other testers can contribute and volunteer to test for you, [go here](./src/data/requests.csv) -* To join our Matrix room, [go here.](https://matrix.to/#/#plexus:matrix.org) +## Overview +Google Play Services are essential components on most Android devices. They allow you to access your Google account seamlessly and provide Google-specific features for apps that depend on them. +
However, when you flash custom ROMs without Google Play Services or opt for alternatives like [microG](https://microg.org/), certain apps may encounter issues — either not functioning at all or experiencing limitations in specific features. -**NOTE: Plexus is only for applications directly or indirectly from the Google Play Store. Please do not submit applications from F-Droid as they are all expected to work.** +Plexus provides detailed insights into app compatibility whether you’re using ROMs without Google Play Services (like _LineageOS_) or ROMs with microG (such as _CalyxOS_). It helps you identify which apps work, don’t work or have limited features. +
All the information is crowdsourced by the community, for the community. -## What Do The Ratings Mean? -1. Unusable. Mostly apps that fail to open -2. Acceptable but with missing or broken functionality -3. Almost everything works with minimal caveats -4. Perfect or like-perfect experience +## Help & FAQs +- Visit the [Help page](https://github.com/techlore/Plexus-app/wiki/Help) to familiarize yourself with the all the indicators & know how to submit ratings. +- Visit the [FAQs page](https://github.com/techlore/Plexus-app/wiki/FAQs) for answers to common questions. -## How To Contribute Your Applications -### Testing Standards +## Privacy policy +Privacy policy is located [here](https://github.com/techlore/Plexus/blob/main/PRIVACY.md). -- Test only Google Play Store applications (Regardless of where they came from, including the Aurora Store) -- Kindly disable Netguard and other blockers -- No Google Play Services -- Pay extra attention to notifications as some will not properly work. If you're testing on MicroG, it is assumed you have enabled GCM/FCM. If you have not enabled GCM/FCM, you are still free to report applications, but please exclude any information regarding missing notifications. (Notifications working is okay and encouraged even with GCM/FCM disabled.) -- If you're testing from MicroG, only input data in the last two columns, and utilize two "X"s for the standard sections. -- If you're testing from a fully de-googled ROM without MicroG, input data in the standard sections and mark the MicroG sections as "X"s -### Contribute Method 1 (Recommended) +## Issues +If you find bugs or have suggestions, please report it to the [issue tracker](https://github.com/techlore/Plexus/issues). +
We encourage you to search for existing issues before opening a new one. Any duplicates will be closed. -Edit the file [Plexus.csv](./src/data/Plexus.csv) and start a pull request with your apps to submit. Ensure you're maintaining the proper CSV format in alphabetical order to make merging as simple as possible. -1. App Name -2. Month Last Tested -3. Year Last Tested -4. App score. Please refer to the rating section of the readme to help figure out what score a service is. We may change your score if it doesn't match our rating method. Label "X" if you're testing with MicroG. -5. Any issues with the application. Explain your problems, or just say "No reported issues" if the app works perfectly. Label "X" if you're testing with MicroG. -6. MicroG App Score. This is ONLY for users testing apps on MicroG. Please refer to the rating section of the readme to help figure out what score a service is. We may change your score if it doesn't match our rating method. Label "X" if you're not testing with MicroG. -7. MicroG issues. Explain your problems, or just say "No reported issues" if the app works perfectly. Label "X" if you're not testing with MicroG. +## Contributing +- New pull requests can be submitted [here](https://github.com/techlore/Plexus/pulls). +- To submit data please use the [Plexus app](https://github.com/techlore/Plexus-app). -### Contribute Method 2 (Non-Github Method) -Email contact@techlore.tech with all your apps you use on your phone that are from the Google Play Store (Directly or Indirectly) with the following information: - -1. App Name -2. Month Last Tested -3. Year Last Tested -4. App Score. Label "X" if you're testing with MicroG. -5. Any issues with the application. Explain your problems, or just say none if the app works perfectly. Label "X" if you're testing with MicroG. -6. MicroG App Score. Label "X" if you're not testing with MicroG. -7. MicroG issues. Label "X" if you're not testing with MicroG. - -I will then update the spreadsheet myself. - -## Application Requests +## Future Plans & Goals +- Support for "recommended alternatives" similar to alternativeto.net -If you're unable to find an application within Plexus and don't have the means of testing them yourself, you can submit an App Request where other testers can test apps on your behalf. This is purely on a volunteer basis. There will be methods of incentivizing volunteers down the road. -To submit an application request, do one of the following: -1. Submit a PR with your app(s) [in the repo.](./src/data/requests.csv) -2. Email support@techlore.tech with the following information: Name/Alias, App Name(s),MicroG (Yes/No), Urgent (Yes/No) +## Credits +- [tomkonidas](https://github.com/tomkonidas) for developing the API & the Plexus website. +- [Henry](https://github.com/henry-fisher) for going forward with the project and designing/modifying some of the icons. +- [Contributors](https://github.com/techlore/plexus/graphs/contributors) for making this app better. +- Everyone who has and continues to contribute data to make this project better than ever. -## Future Plans & Goals -- Support for "recommended alternatives" similar to alternativeto.net -- More thorough data showing what OS & ROM was used for testing ## License -Except where indicated otherwise, this project is licensed under the terms of [GPLv3](https://www.gnu.org/licenses/gpl-3.0.html) +This project is licensed under the terms of [GPL v3.0 license](https://github.com/techlore/Plexus/blob/main/LICENSE). \ No newline at end of file