Skip to content

Commit f36ef45

Browse files
hpdanghpdang
andauthored
Update README (#1367)
Co-authored-by: hpdang <“[[email protected]]”>
1 parent c4616f1 commit f36ef45

File tree

1 file changed

+31
-7
lines changed

1 file changed

+31
-7
lines changed

README.md

Lines changed: 31 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<img height="200px" src="./docs/images/app_icon.png" align="right" />
22

33
# Badge Magic
4-
[![Join the chat at https://gitter.im/fossasia/badge-magic](https://badges.gitter.im/fossasia/badge-magic.svg)](https://gitter.im/fossasia/badge-magic?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
4+
[![Join the chat at https://gitter.im/fossasia/badge-magic](https://badges.gitter.im/fossasia/badge-magic.svg)](https://gitter.im/fossasia/badge-magic?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
55
![Github](https://img.shields.io/github/license/fossasia/badgemagic-app?logo=github)
66

77
**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
2929
* **Bluetooth**: For sending org.fossasia.badgemagic.data to the badge.
3030
* **Storage**: For storing and saving badges.
3131

32-
Up to Android version 11
32+
Up to Android version 11
3333
* **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).
3434

3535
## Communication
@@ -61,21 +61,24 @@ There are a number of devices with Bluetooth on the market. As far as we can tel
6161

6262
## Reverse-Engineering Bluetooth LE Devices
6363

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.
6565

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

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.
6969

7070
## Branch Policy
7171

7272
We have the following branches
7373

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
7676
- 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.
7777
- Once a pull request is merged, the previous APK branch is deleted and a new APK branch is created.
7878
- 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.
7982

8083
## Contributions Best Practices
8184

@@ -89,6 +92,27 @@ Please read FOSSASIA's [Best Practices](https://blog.fossasia.org/open-source-de
8992
* 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.
9093
* 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.
9194

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+
92116
## Dev Container usage
93117

94118
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

Comments
 (0)