Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/scavazzini/clevent
Clevent is an Android application developed for a Research that uses NFC technology to create a prepaid system using NDEF tags
https://github.com/scavazzini/clevent
android android-application jetpack-compose ndef nfc payment prepaid-card research-projects
Last synced: about 2 months ago
JSON representation
Clevent is an Android application developed for a Research that uses NFC technology to create a prepaid system using NDEF tags
- Host: GitHub
- URL: https://github.com/scavazzini/clevent
- Owner: scavazzini
- Created: 2020-09-25T14:52:17.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-08-10T03:18:50.000Z (5 months ago)
- Last Synced: 2024-08-10T04:27:32.602Z (5 months ago)
- Topics: android, android-application, jetpack-compose, ndef, nfc, payment, prepaid-card, research-projects
- Language: Kotlin
- Homepage:
- Size: 1.81 MB
- Stars: 12
- Watchers: 3
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-list - scavazzini/clevent - Clevent is an Android application developed for a Research that uses NFC technology to create a prepaid system using NDEF tags (Kotlin)
README
# Clevent
Clevent is an Android application developed for a Undergraduate Research that uses NFC technology to create a prepaid system that stores credits in NFC tags in NDEF format.
This project was presented at the 28th edition of SIICUSP (University of São Paulo's International Symposium of Undergraduate Research) in November 2020.This application encrypts and stores the balance and a history of consumed items using the NDEF format allowing operations such as balance recharging, issuing receipts, and purchasing products entirely offline, without needing a constant connection to a remote server.
## Screenshots
## Application technical stack
The application was developed using modern Android development techniques, including:
- Jetpack Compose;
- Multi-module architecture;
- Dagger Hilt;
- Retrofit;
- Room;
- WorkManager;## Data serialization
NFC tags have a very limited space to store data, so it's important to serialize the data efficiently to optimize space usage.
The serialization generates a byte array that can be divided into three segments:
- **Segment 1 (4 bytes):** Balance as an integer value.
- **Segment 2 (3 bytes per item):** List of items. Each item uses 3 bytes, 2 for ID and 1 for quantity.
- **Segment 3 (4 bytes):** CRC as an integer value.The byte array resulting from serialization is then encrypted and stored on the NFC tag in NDEF format.