Skip to content

TrashScan The Device™ is the smart barcode scanner that powers TrashScan The App™. Not only does the device add scanned items to the user's default list, it provides a basic UI for immediate feedback. This is an Electron App created with TypeScript, Vite, and Electron-Forge.

License

Notifications You must be signed in to change notification settings

iiTONELOC/trashscan-device

Repository files navigation

TrashScan The Device

Screenshot

TrashScanner

Description

TrashScan The Device™ is the smart barcode scanner that powers TrashScan The App™. The Device, not only adds scanned barcodes to the user's default list, but it provides instant feedback regarding product information.

Table of Contents

Installation

git clone https://github.com/iiTONELOC/trashscan-device.git

Then install the dependencies and compile the application for your system:

npm i && npm run make

The generated output will be available in the ./out/make/ directory.

Usage

Sign In

A valid account for Trash Scanner™ and a valid device ID are required to complete a successful sign-in.

The application also protects data that is stored on the device using AES-256-bit encryption. First-time users will be informed upon opening the application. The encryption key is provided by you, the user, and it is not stored anywhere. Therefore, if you forget your encryption key, you will not be able to access the encrypted data.

NOTE: This project was created for a family member, and the ability to create device IDs from the App/Website has not yet been implemented in the UI. If you wish to try this out on your own, with your own components, and need to be able to generate a device ID, please reach out to me @ anthonytropeano@protonmail.com and I will be happy to provide the functionality.

Sign-up Screen, encryption warning

Scan Items

A well-disguised HTML input element is auto-focused and waits for barcode input. The scanner mimics an HID device and rapidly sends keys. A user cannot type fast enough to type the barcodes in manually, a scanner must be used.

In the event a user changes focus by tapping elsewhere on the screen, you can ensure input will be captured by clicking just below the lighter-colored top bar where the date and time are located. If you click in the right area, the mouse will change from a regular cursor to a hand with an extended pointer finger.

Check out the demo below for a side-by-side view of scanning the items using the device, having the information displayed to the user for immediate feedback, and the data being available in the TrashScan The App™.

The items will appear in the user's default list. If a default list does not exist, one titled Default will be created automatically.

Demo

Demo

Tech Stack

Technology Description Links
Node JavaScript runtime environment Node.js
TypeScript JavaScript with syntax for types TypeScript
Electron Build Cross-Platform Desktop Apps using Web Technologies Electron.js
Electron Forge All-in-One Tool for Packaging and Distributing Electron Apps Electron Forge
Preact 3kB replacement for React.js with the same API PREACT
Vite Front-end tooling and dev environment, replacing Create React App Vite

Contact

If you have any questions or would like to get in touch please feel free to email me @ anthonytropeano@protonmail.com.

LICENSE

This project is licensed by the MIT License a copy can be viewed here

About

TrashScan The Device™ is the smart barcode scanner that powers TrashScan The App™. Not only does the device add scanned items to the user's default list, it provides a basic UI for immediate feedback. This is an Electron App created with TypeScript, Vite, and Electron-Forge.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages