Validate event tickets + connect thermal printer + NFC. EXPERIENCE IN SIMILAR APP
Budget: €1,500 – €3,000 EUR
If you don't have demostrable experience in a similar app, please don't apply
I have a figma design, please ask for it but basically:
Intro
This is an app used by event organisers to scan and print tickets
Obtetives
React Native Cross platform (Android & iOS) and responsive (different screen sizes and landscape or portrait)
Simplify as much as possible
Prioritize scalability and performance
Validate one or more tickets/QR in less than 0.5 seconds via camera, Bluetooth scanner, laser or NFC
Efficiently synchronize multiple PDAs with the platform with the same or different user permission
Support large amounts of data, we say that for example an event can have:
20,000 attendees with 25 PDAs synchronized in real time and will have to work with local data downloads.
More than 20,000 attendees with more than 25 PDAs synchronized in real time working with requests to a local server that will be installed on the LAN
Work without delays in loading information for the first time, for example when the data is being downloaded for the first time, it will be necessary to create a second thread behind it and show it the first page of downloaded information while the process continues behind it.
Minimize the number of bugs or, above all, crashes that prevent the use of the application and install crash analytics
Document the application to facilitate future extensions or developments
That it can work without problems also without internet connection
That you can print tickets in less than 1 second with Zebra thermal ink printers
General instructions
Validation:
Internal data base and direct to server
Sounds every time a QR is valid should sound “beep” while if is invalid or has an error should sound “beeeeeeeep” ticket options could have different sounds, this info should probably come from the api
Permissions: Check tickets, see list, or see reports.
Every view will have a hidden input where the BT / barcode /laser scanner will autointroduce the code and automatically and check it
Localization: The events could be in different parts of the world, the dates, hours or currency should change according to the event info and multilanguage app.
The QR will have a payload (encrypted json token) in case of offline validations
Intents: For Zebra PDAs, there’s an app that you can configure with intents, so whenever they press a button (scan button) that information should be captured by the app and check if that ticket is valid or not.
It has to have Google Analytics and a recording app like hotjar, smartlook.. also create a log to understand the actions from the users and in case they report a problem have the info to help them
Scanning a QR: Be careful, sometimes the camera continues working in background whilevalidation, it should stop or freeze
Notifications / sync: This is one of the most important and difficult parts (it always has problems), the app should be sync with the backend. We now use firebase. If the app is not connected to internet once it’s connected it should sync the last change. a new ticket is bought, cancelled, validated, a new permission is given to a user / QR, a new event is created or edited or a password from a user is changed or if a QR is revoked to make autologout
Keep app on while open
I have a figma design, please ask for it but basically:
Intro
This is an app used by event organisers to scan and print tickets
Obtetives
React Native Cross platform (Android & iOS) and responsive (different screen sizes and landscape or portrait)
Simplify as much as possible
Prioritize scalability and performance
Validate one or more tickets/QR in less than 0.5 seconds via camera, Bluetooth scanner, laser or NFC
Efficiently synchronize multiple PDAs with the platform with the same or different user permission
Support large amounts of data, we say that for example an event can have:
20,000 attendees with 25 PDAs synchronized in real time and will have to work with local data downloads.
More than 20,000 attendees with more than 25 PDAs synchronized in real time working with requests to a local server that will be installed on the LAN
Work without delays in loading information for the first time, for example when the data is being downloaded for the first time, it will be necessary to create a second thread behind it and show it the first page of downloaded information while the process continues behind it.
Minimize the number of bugs or, above all, crashes that prevent the use of the application and install crash analytics
Document the application to facilitate future extensions or developments
That it can work without problems also without internet connection
That you can print tickets in less than 1 second with Zebra thermal ink printers
General instructions
Validation:
Internal data base and direct to server
Sounds every time a QR is valid should sound “beep” while if is invalid or has an error should sound “beeeeeeeep” ticket options could have different sounds, this info should probably come from the api
Permissions: Check tickets, see list, or see reports.
Every view will have a hidden input where the BT / barcode /laser scanner will autointroduce the code and automatically and check it
Localization: The events could be in different parts of the world, the dates, hours or currency should change according to the event info and multilanguage app.
The QR will have a payload (encrypted json token) in case of offline validations
Intents: For Zebra PDAs, there’s an app that you can configure with intents, so whenever they press a button (scan button) that information should be captured by the app and check if that ticket is valid or not.
It has to have Google Analytics and a recording app like hotjar, smartlook.. also create a log to understand the actions from the users and in case they report a problem have the info to help them
Scanning a QR: Be careful, sometimes the camera continues working in background whilevalidation, it should stop or freeze
Notifications / sync: This is one of the most important and difficult parts (it always has problems), the app should be sync with the backend. We now use firebase. If the app is not connected to internet once it’s connected it should sync the last change. a new ticket is bought, cancelled, validated, a new permission is given to a user / QR, a new event is created or edited or a password from a user is changed or if a QR is revoked to make autologout
Keep app on while open