Coder Social home page Coder Social logo

wyntonfranklin / purdm-web-app Goto Github PK

View Code? Open in Web Editor NEW
33.0 4.0 12.0 4.9 MB

A open source expense manager for the web and mobile.

Home Page: https://wftutorials.com/purdm

License: MIT License

CSS 11.43% PHP 10.61% Batchfile 0.01% JavaScript 77.58% Hack 0.19% Shell 0.18%
expense-manager php yii open-source self-hosted finance-tracker personal-finance

purdm-web-app's Introduction

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.