ICMS Scanner helps store data from invoices by different vendors in one place, making it easy to record and analyze.
When I started working on this project, everything had to be done in a specific way because this app needed to integrate with existing company software (Verve ICMS in this case). I examined the actual web-based software and noted the required process steps. After noting the steps, I eliminated any steps that could be automated or unnecessary for the app.
Shown in the code example above, the open-source library AsyncStorage is used to store user information. For the vendor invoices, a JSON file containing all the vendor details is utilized. The provided code example demonstrates the implementation of these features.
This app was also built using React Native, following a simple yet effective principle of app development. I decided to structure it so that each screen focuses on performing one primary task, with other functionalities implemented step by step.
The main function of the app was to scan an invoice and save its data by extracting all information from the invoice. To accomplish this, I needed a tool for scanning and cropping images. After trying several different open-source libraries, I decided to use @woonivers/react-native-document-scanner because it fit well with the current use case.
If given more time or resources, here's what I would do:
I aimed to enhance the app's appearance and usability by focusing on
simplicity and efficiently addressing the core problem.
I've built other apps too, like Ride Share, a carpooling app that humorously ended up closing down, but it was a learning experience for me.