Here you will find a quick overview of what MoneyJar is, what problems it hopes to solve and the motivation behind it. Shown in an FAQ format, you will learn, what it is, why I started it, the plans I have for it, and what I hope to learn in the process.
What is money jar?
Money jar is or will be a web-based personal money management application, that analyzes your personal financial history and produces graphical reports to show you how well you are managing your money.
The reports will:
- Allow you to see how much you are spending in comparison to your income.
- Show you whether you are living within your means.
- Show you what you are spending your money on.
- Show you where you can save money, or cut back spending.
- Allow you to budget for future purchases.
- Allow you to see a summarized view of your financial commitments.
- Help you decide whether you are earning enough to take on further commitments.
Why start this project?
“There are many money and financial management applications on the market, why not just buy one of those? “
Because, it is a great opportunity to expand my software development knowledge and programming ability on a medium sized project. It will allow me to:
- Practice programming in Java.
- Creating cohesive and loosely coupled code.
- Solving complex domain problems using a software solution.
- Practice Test Driven Development.
- Apply design patterns (when appropriate).
- Experiment with Logging with Log4j.
- Work with an SQL database ie. MySQL.
- Experiment with a private development and web server (set up on my iMac).
- Learn and understand how to use Apache and Tomcat.
- Learn to use automated builds with Ant, Ivy, and Jenkins.
- Learn how to development web-based applications using Servlets and JSP.
- Work with Web-based programming and mark-up languages.
- Learn to use CSS.
- Learn to use JQuery.
- Learn to use and apply AJAX.
- Practice writing HTML.
- Create pretty graphs using third party JS Graphs.
As you can see, this application allows me to learn a great deal about software development and design, which is my primary goal. Not just to become a good programmer, but to become a great software developer. It also allows me to explore software development practices such as agile development and scrum. As well as to learn and apply good programming practices.
But perhaps most importantly, it will allow me to develop a software tool that will help me save money!
Is this an open source project?
For me this project is a personal one that I am using to help me develop my own abilities. If other programmers were to begin adding their own code, I may not get the opportunity to learn.
But at the same time, by making this project open to the public to view, fork, and to contribute, other developers may be able to point out some flaws in my code or in my design.
Once the crux of the project is complete and the application finds some form of usefulness, I may well turn it into an open source platform for other developers to modify and expand. Hopefully we’ll see useful FREE money management applications available around the world, making everyone richer or at least, have a better handle on their money.
Why the name ‘MoneyJar’ ?
The name is playing on a real world concept. People save money by putting their money in Jars, so there’s that. But its also a nod to it’s Java based heritage. Compressed Java applications come in ‘.jar’ files. And because its a money application. So, Money.jar became MoneyJar.