Owlganizer

Github Website

Are you getting tired of organizing all the e-bills you have? Is it very tedious to organize your bills and summarize them manually? Don't worry because Owlganizer is here to help you! Why organize your bills by yourself if you can use Owlganizer?

Just upload your e-bills or e-statements, and Owlganizer will extract relevant information using optical character recognition (OCR). With this, you can easily file and find your bills by type, date, or amount. Owlganizer also shows statistics of your expenses over time, allowing you to better keep track of your finances. Need the original pdf of your bill? No worries! Owlganizer stores your uploaded bills on the cloud so that you can now access them anytime, anywhere.

Demo

Getting Started

Register

Head over to http://billorg.herokuapp.com/ to register for a new account.

Upload

Start uploading your bills and statements!

Contributing

Setup

1. Prepare development server

Option 1: Using vagrant

Follow instructions at https://laravel.com/docs/5.4/homestead

Option 2: using xampp

Follow instructions at https://www.apachefriends.org/download.html

Additional setup

Enable required extensions by removing the semi-colons in php.ini
extension=php_openssl.dll
extension=php_curl.dll
extension=php_sockets.dll

2. Install dependency managers

Download and install Composer at https://getcomposer.org/download/
Download and install nodejs at https://nodejs.org/en/download/

3. Install the following dependencies

Ubuntu 16.04

1. Ghostscript
sudo apt-get install ghostscript libgs-dev
2. ImageMagick
Follow the instructions here.
Also, during the configure phase, use the --with-gslib=yes flag. ie: ./configure --with-gslib=yes
3. PHP Imagick extension sudo apt install php-imagick (for php >=7.0)
4. Tesseract sudo apt-get install tesseract-ocr

Windows

herpderp

4. Setup the project

1. clone project from github
git clone git@github.com:nus-mtp/bill-organizer.git
2. install dependencies
npm install npm@latest
composer install
npm install
3. start development server
php artisan serve
npm run watch

5. Accessing Development Database Server

Via Web portal

1. Visit http://128.199.82.128/phpmyadmin
2. username: developer | password: password

Via SQLClient (e.g mysql workbench)

Establish connection from local machine via sqlclient using the following settings
host:128.199.82.128
port:3306
user:developer
password:password

Common Errors

CircleCI

Database Schema

img


Common problems and solutions:

The only supported ciphers are AES-128-CBC and AES-256-CBC with the correct key lengths.

Solution

Inside commandline, at root of app folder, type:

php artisan config:clear
cp .env.example .env
php artisan key:generate

NPM compilation error

Solution

1. delete node_modules folder
2. type npm install in terminal/command prompt

Error: Cannot find module ‘D:\vhosts\bill-organizer\node_modules\cross-env\bin\cross-env.js’

Solution

This happens because cross-env.js package updated its build path recently,
refer to https://github.com/JeffreyWay/laravel-mix/issues/478

edit package.json
change all references of 
node_modules/cross-env/bin/cross-env.js to 
node_modules/cross-env/dist/bin/cross-env.js

if this does not resolve the problem, manually remove node_modules/cross-env and type

npm install

Support