Giter VIP home page Giter VIP logo

vogon's Introduction

Vogon personal finance tracker

Deploy

See details below.

Project description

Simple web-based personal finance tracker using

  • AngularJS on client-side
  • Spring MVC on server-side for AngularJS request handling
  • JSP for page generation (single page with all data being retrieved with JSON calls)
  • JPA and Spring Repositories for entity management
  • H2 database for data storage, or a server-provided PostgreSQL (OpenShift/Heroku)

Named after the Vogons (http://en.wikipedia.org/wiki/Vogon) race who were known to be extremely boring accountants.

Demos

Check out the demo deployments (may take a few minutes to load for the first time):

Prepackaged standalone versions are available on Github.

Requires Java 8 to build. Releases contain prepackaged WAR files for:

  • WildFly
  • Standalone version which works in Azure and on Heroku

If all works well, the server should auto-redirect to HTTPS, however it's tricky and may not always work - some cloud environments require non-standard ports and/or unencrypted HTTP connections. Double-check that your deployment is redirecting to HTTPS by default!

Configuration

If you do not want random people using your deployment, you may want to set the VOGON_ALLOW_REGISTRATION environment variable to false.

See the documentation for more details on how to change configuration variables.

You should set VOGON_ALLOW_REGISTRATION to false only after registering yourself.

Set the VOGON_TOKEN_EXPIRES_DAYS variable to the number of days before authorization expires and the user has to re-login (e.g. 14);

Getting started on Heroku

You can either

This app requires a PostgreSQL database, the deployment button will automatically create a free database and configure it.

Configuration of Vogon can be done via environment variables, as described in the Configuration section above.

See the documentation for more details on how to change configuration variables.

Getting started on Azure

You can create a new Web App in Azure and deploy the prepackaged standalone version as described in the Azure documentation:

Create a new Web App, without selecting an application server like Tomcat or Jetty.

Set the following environment variables ("App Settings") in Application Settings:

Key Value
VOGON_JAVA_HOME D:\Program Files (x86)\Java\jdk1.8.0_111
VOGON_ALLOW_REGISTRATION true

Upload the prepackaged standalone war to site\wwwroot\webapps\ROOT.war.

Finally, create a `site\wwwroot\web.config file with the following contents:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
    </handlers>
    <httpPlatform processPath="%VOGON_JAVA_HOME%\bin\java.exe"
        arguments="-Djava.net.preferIPv4Stack=true -Dserver.port=%HTTP_PLATFORM_PORT% -jar &quot;%HOME%\site\wwwroot\webapps\ROOT.war&quot;">
      <environmentVariables>
        <environmentVariable name="VOGON_DATABASE_DIR" value="%HOME%\site" />
      </environmentVariables>
    </httpPlatform>
    <rewrite>
      <rules>
        <rule name="Redirect to https">
          <match url="(.*)"/>
          <conditions>
            <add input="{HTTPS}" pattern="Off"/>
          </conditions>
          <action type="Redirect" url="https://{HTTP_HOST}/{R:1}"/>
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

Standalone deployment

Vogon can also run locally. Download the war file from Github and run it from the console:

SET AZURE_MODE=true
SET VOGON_DATABASE_DIR=%CD%
SET ALLOW_REGISTRATION=true
START java -jar ROOT.war

Other info

2.0 and earlier versions also include a standalone version using Java FX for UI. This version is no longer maintained and may be completely removed in future releases. Requires Java 8 to run.

This project has a rich history of UI rewrites, including versions using

Check out the history if you're interested!

vogon's People

Contributors

zlogic avatar

Watchers

James Cloos avatar John Nolcox avatar

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.