See details below.
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!
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
);
You can either
- fork this repository and copy into a new Heroku app through Github
- or use the deployment button above
- or try the demo version first
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.
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 "%HOME%\site\wwwroot\webapps\ROOT.war"">
<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>
Vogon can also run locally. Download the war file from Github and run it from the console:
SET STANDALONE=true
SET VOGON_DATABASE_DIR=%CD%
SET VOGON_ALLOW_REGISTRATION=true
START java -jar ROOT.war
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!