The goal of my thesis was to design and implement an architecture, which can operate a mobile application and a server together. The main function of the application is capturing bills and gathering payment information on them. What the server does is storing that information and serving further requests came from the mobile application and web clients. The mobile application was written for Android, and the server was created in Spring Framework. The server provides interfaces to the mobile application for registration, authentication and data exchange. Persistent data is stored on the server, so they will be available for other components of the system. After each requests came from the Android application, the server gives a result code back to the mobile application in the response, to let it know about the result of the request.
Using the mobile application, users can register into the system. The given username and password will be inserted into a table on the server, that can be used to log in on the web page too. After registration, the application gets a frame from the live preview of the camera, which will be given to the OCR engine (Tesseract). If the recognition was successful, the bill will be saved to the internal storage of the application. In parallel with the character recognition, the mobile application sends the analyzed images and the recognized data to the server, because using the gathered information the OCR engine can be taught.