Skip to content

wyntonfranklin/purdm-web-app

Repository files navigation

screenshot

PURDM - Your Own Expense Manager (wfexpenses)

Purrrr...diem. PURDM is a open source expense manager/host it yourself solution web application. It allows you to host your own expense manager that you can access via web and mobile application. This means you have full control of your data and not some other company. You can delete your application and all your data will be gone. Keep companies out of your business with PURDM.

screenshot

Installation

You can install PURDM on any web host that supports PHP. Head to the releases section and download the latest release. Copy this file to your web server and get started hosting your own expense manager.

The following files must be writable by the server. Give the appropriate permissions

  • /assets
  • /protected/runtime
  • /protected/update.sh

Do the above otherwise the application would not work correctly

Quick start

You can easily get started by spinning up a droplet. To learn more click here.

Your own PURDM Domain

If you need a PURDM domain to point to your server we can point it for you. Use this form here to submit your application. So you can have john.purdm.com or mary.purdm.com. Or any sub domain you like.

Support for the app

If you need support or additional features added to your version of PURDM that is possible. Use this form here to submit a support request or feature upgrade.

Some services offered

  • Setup and installation (Digital Ocean, Linode)
  • Changes and updates (Request changes to your expense manger)
  • New features (Suggest and get sent you own updates)

Server Requirements

  • Linux Server
  • PHP > 5.6
  • PHP Curl
  • MySQL
  • php-dom

Features

PURDM comes with some great features.

  • Dashboard showing net worth and month income vs expenses
  • Insights giving drill down of your expense. You can change the date ranges.
  • Calendar so you can see went you made certain purchases
  • Create as many accounts as you need
  • Recurring transactions
  • Insights on specific categories and expenses
  • Colourful graphs and charts
  • Mobile application
  • Add multiple users
  • Download/Upload Transactions any time you want
  • Get frequent updates

Mobile Application

Currently we have an android application for PURDM. All you need to do is provide the domain and your user credentials and you are good to go. Get it here

Android Development

The android app is now open source. You can check out the repo here.

Development

Download this repo or use this link here You need to download Yii and add it to the repo you downloaded. You can access a copy of the Yii version I used here.

Requirements

  • Yii 1.1
  • PHP
  • MySQL
  • Grunt
  • Node
  • Npm

Steps

  • First download the repo giving the link provided.
  • Insure you have in your PHP version the required server requirements listed above. You also need to have node js installed on your computer.
  • Download the Yii version via the link provided here. Place the extracted version of yii in your base directory. The name of the folder should be yii.
  • Download the extensions required to run this application from here These extensions you download will be required to run your application properly. Place the extensions in your protected folder under the folder name extensions.
  • In your database create a database to hold your application.
  • Run npm install from your base directory to add the packages required to develop.
  • Once you do this you can run the grunt command in your base folder.
  • Create a folder called assets in your base directory.
  • Create a folder called runtime in your protected directory.
  • Setup your configuration path for your server or virtual host. An example can be found below.
<VirtualHost *:80>
    DocumentRoot "C:\Users\wfranklin\Documents\GitHub\wfexpenses"
    ServerName demo.wfexpenses.com
    ServerAlias demo.wfexpenses.com
    <Directory "C:\Users\wfranklin\Documents\GitHub\wfexpenses"> 
        RewriteEngine on
        RewriteRule ^index.php/ - [L,R=404]
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule . index.php
        AllowOverride All
        Require all Granted        
        AllowOverride All
        Require all Granted
    </Directory>
</VirtualHost>
  • Head to your base domain and run the setup.
  • If you need further directions on running a yii 1.1 version app check out this tutorial here. You can look at the directory structure and additional configurations chapters for more insight.

Known issues

When running in a windows environment you might need to update the create_dist.sh code or make some changes to it. The tar command needs to be tar --force-local -rf. This is so that semicolons work. Learn more here

Acknowledgements