You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[](https://gitter.im/fossasia/badge-magic?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
4
+
[](https://gitter.im/fossasia/badge-magic?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
**Python Library to program via desktop https://github.com/fossasia/led-name-badge-ls32**
@@ -29,7 +29,7 @@ The Badge Magic Android app lets you create moving text and draw clipart for LED
29
29
***Bluetooth**: For sending org.fossasia.badgemagic.data to the badge.
30
30
***Storage**: For storing and saving badges.
31
31
32
-
Up to Android version 11
32
+
Up to Android version 11
33
33
***GPS Location**: This has been the standard set by Android for use with Bluetooth Low Energy (BLE) devices. For more information, please read the notes on [Android website](https://source.android.com/devices/bluetooth/ble).
34
34
35
35
## Communication
@@ -61,21 +61,24 @@ There are a number of devices with Bluetooth on the market. As far as we can tel
61
61
62
62
## Reverse-Engineering Bluetooth LE Devices
63
63
64
-
Security in Bluetooth LE devices is optional, and many cheap products you can find on the market are not secured at all. This applies to our Bluetooth LED Badge. While this could lead to some privacy issues, this can also be a source of fun, especially when you want to use an LED Badge in a different way. It also makes it easy for us to get started with the development of a Free and Open Source Android app.
64
+
Security in Bluetooth LE devices is optional, and many cheap products you can find on the market are not secured at all. This applies to our Bluetooth LED Badge. While this could lead to some privacy issues, this can also be a source of fun, especially when you want to use an LED Badge in a different way. It also makes it easy for us to get started with the development of a Free and Open Source Android app.
65
65
66
-
As we understand how the Bluetooth LED badge works, converting a text to multiple byte arrays, we can send using the Bluetooth LE APIs. An indepth blog post about reverse-engineering the Bluetooth community [is here](http://nilhcem.com/iot/reverse-engineering-bluetooth-led-name-badge).
66
+
As we understand how the Bluetooth LED badge works, converting a text to multiple byte arrays, we can send using the Bluetooth LE APIs. An indepth blog post about reverse-engineering the Bluetooth community [is here](http://nilhcem.com/iot/reverse-engineering-bluetooth-led-name-badge).
67
67
68
-
The implementation in the Android app consists of manipulating bits. That may be tricky. A single bit error and nothing will work, plus it will be hard to debug. For those reasons, and since the specs are perfectly clear the reverse engineer Gautier Mechling strongly recommends to start writing unit tests before the code implementation.
68
+
The implementation in the Android app consists of manipulating bits. That may be tricky. A single bit error and nothing will work, plus it will be hard to debug. For those reasons, and since the specs are perfectly clear the reverse engineer Gautier Mechling strongly recommends to start writing unit tests before the code implementation.
69
69
70
70
## Branch Policy
71
71
72
72
We have the following branches
73
73
74
-
***development** All development goes on in this branch. If you're making a contribution, you are supposed to make a pull request to _development_. PRs to development branch must pass a build check on CI/CD.
75
-
***apk** This branch contains many apk files, that are automatically generated on the merged pull request a) debug apk b) release apk
74
+
***development**: All development goes on in this branch. If you're making a contribution, you are supposed to make a pull request to _development_. PRs to development branch must pass a build check on CI/CD.
75
+
***apk**: This branch contains many apk files, that are automatically generated on the merged pull request a) debug apk b) release apk
76
76
- There are multiple files in the apk branch of the project, this branch consists of all the APK files and other files that are relevant when an APK is generated.
77
77
- Once a pull request is merged, the previous APK branch is deleted and a new APK branch is created.
78
78
- If a PR is merged in development branch then the new APKs for the development branch are generated whereas the APKs corresponding to the master branch are not regenerated and simply the previously generated files are added.
79
+
***version**: This branch stores the version information for the APKs (versionName and versionCode). This is used in our workflows for automatic versioning wherein the next version information is automatically fetched from this branch and used for building APKs.
80
+
***fastlane***: These branches contain information and metadata used by fastlane to automate deployment.
81
+
***pr-screenshots**: This branch stores screenshots for every open pull request, which are shown in comments in every pull request.
* Before you join development, please set up the project on your local machine, run it and go through the application completely. Press on any button you can find and see where it leads to. Explore.
90
93
* If you would like to work on an issue, drop in a comment at the issue. If it is already assigned to someone, but there is no sign of any work being done, please free to drop in a comment and start working on it.
91
94
95
+
## Release Process
96
+
97
+
### Beta Release Flow
98
+
* All merged pull requests into the development branch are automatically included in the beta version of the app.
99
+
* The beta builds are automatically pushed to:
100
+
- Google Play Store (Beta Track)
101
+
- Apple TestFlight (iOS Beta)
102
+
This allows contributors and testers to try out the latest features and verify stability before the app is released to all users.
103
+
104
+
### Production Release Flow
105
+
* A new GitHub release (using the "Releases" tab) is the trigger for publishing a production version.
106
+
* When a GitHub release is created:
107
+
- The latest beta APK or iOS build is promoted to the production track on the respective app stores.
108
+
- No additional code changes are made unless specified.
109
+
This ensures that the version tested in beta is the exact one released to the public.
110
+
111
+
### Notes
112
+
* Please ensure all features and fixes are tested and merged into development before a GitHub release is created.
113
+
* Versioning and changelogs should be updated accordingly.
114
+
* If any hotfixes are required post-release, they should go through the same flow (PR → beta → release).
115
+
92
116
## Dev Container usage
93
117
94
118
Opening this repository in VSCode, GitHub Codespaces or another supported editor/IDE will allow the repository to be opened in a [Dev Container](https://containers.dev/).
0 commit comments