Overview

Tracking expenses is essential for in todays business climate. As an employee, you will need documentation of travel and other expenses to support both tax filings and corporate reimbursements. Companies also need accurate accountings to control expenseses and for tax filings.

Web app for expense tracking

This project aims to build a web app that allows users to manage travel (and other) expenses. Users can keep track of mileage, airfare, fuel costs, car rentals and food. While users can manually enter all data; the intereseting feature of this app is the ability to take a snapshot of a receipt and automatically extract information such as the location, amount and time of expenditure.

Figure 1 : Gas receipt

Given a receipt-image such as shown in Figure 1, the application should be able to extract information similar to that shown in Figure 2. This information would then be stored with the image and made to be reportable.

{ invoice : '078T6339', date : '06/19/2009', auth : '111044', quantity : '14.406', price : '2.599', amount : '37.44', total amount : '37.44', address : 'Flying J\nTravel Plaza\nI-84 Exit 7\nSnowville, UT 84336' }
Figure 2 : Extract Data

Requirements

A short list of requriements include

Architecture

The web app will consist of a MongoDb backend with either a Spring or Node/Express server. There will be both a web-based client and an android app interface. The web-based client will use either Angular or React as their main framework.

Required Skills

This project will require that students have a good understanding of HTML 5, CSS3, JavaScript, HTTP, MongoDB, SSH, UNIX and most likely Java and/or C to support interfacing with text recognition engines. Students will be required to document their project via a BitBucket account; maintaining a versioned code-base and a well-defined set of tasks.