Git Product home page Git Product logo

myexpenses's Introduction

MyExpenses

Web Application to track and analyse my expenses

Features:

  • Expenses: amount, reason, date, category, income (true/false), monthly (true/false)
  • Category: name
  • Account: username, password
  • do with Expenses: Add, Edit, Delete, List, Search
  • do with Categories: Add, Rename, Delete
  • do with Account: Register, Edit, Delete, Login, Logout
  • show statistics per month (top 10 per category, pie chart with sum per category, income vs expenses)
  • export to csv (month or year)
  • chooseable languages: english, german

Planned features:

  • ?

Architecture:

  • Java
  • JSP / EL / JSTL / Chartist.js / W3.CSS
  • JDBC / HSQLDB
  • Maven / Gradle
  • Tomcat

Dependencies:

  • javax.servlet-api 3.1.0
  • javax.servlet.jsp.jstl 1.2.1
  • jsp-api 2.2
  • hsqldb 2.0
  • only for test:
    • junit 4.12
    • mockito-core 1.10.19

License

Apache License 2.0

myexpenses's People

Contributors

niklaspolke avatar

Watchers

James Cloos avatar

Forkers

waffle-iron

myexpenses's Issues

Add date to expenses

As a user I want to specify on which date I made the expense.

  • possibility to enter date (required) when creating an expense
  • output the date in the list of expenses
  • order the list of expenses by date (in descending order)

Delete user

As a user I want to delete my account when I'm not using it any more to be able to have control over my private data.

Default month within statistics

When I click on Show Statistics I want to start with the current month, not with a future month (even if I already inserted expenses within the future).

Add category to expenses

As a user I want to create categories and assign them to expenses to be able to group expenses and analyse my own purchase behaviour.

  • possibility to create categories
  • possibility to assign a category to a new expense (required)

Use language specific properties within csv export

Currently the headlines

  • Income
  • Monthly Expenses
  • Expenses
    are used, independently of the choosen language of the website. This should be connected to the choosen language and the headlines should be taken from the properties.

Require login

As a user I want to have exlusive access to my expenses.

  • login page that accepts specific combinations of username and password
  • every other page requires to be logged in
  • every user is only able to see and edit his own expenses

Statistics - expense per month (and category)

As a user I want to know the average expenses per month to get to know how much money I can save per month.

  • total sum per month
  • total sum per category per month
  • graphical representation of sum per category per month

Logout

As a user I don't want other people with access to my browser/pc to be able to access my data.

  • logout button

Show application statistics

As an application admin, I want to know usage statistics of the application, to better prioritise future improvements.

  • start date of application
  • amount of logins
  • amount of new expenses

Create and list expenses (amount, reason)

As a user I want to track expenses, consisting of an amount of money (double value).

  • possibility to insert amount (required) with reason (optional)
  • possibility to see inserted amounts with reasons

Edit user

As a user I want to change my username and/or password to assure security.

  • new edit user page, reachable if logged in
  • possibility to change password

Edit category

As a user I want to to edit my categories to be able to subsequently change the way I group my expenses and analyse my own purchasing behaviour.

  • possibility to edit the name of a category
  • changed category will automatically be updated within every expense connected to this category

Change language (persistent)

As a user I want the application to be written in my own language to have a more easy way of handling.

  • possibility to change the language between english and german
  • language is persistent configuration

Delete confirmation prompts

As a user I want to be warned before I delete something to avoid having to recreate the things I delete by mistake.

  • confirmation prompts before every delete action

Statistics - abs. + rel. comparison of different months

As a frequent user I want to compare the statistics of different months to review if I successfully changed my purchasing behaviour if I wanted to.

  • possibility to compare absolute values and relative sizes of the expenses per category of different months

Export monthly statistics as csv file

Export the following sums per month with expenses as column in a csv file:

  • income monthly per category
  • income per category
  • expenses monthly per category
  • expenses per category

Correction of csv export

  • use "," instead of ";" - csv stands for comma separated values
  • use "" around columns, if a "," or a """ is within a column (e.g. the amount columns)

Default date values

As a user I want the date values within the add expense form set per default to the current day to not have to set them manually every time.

  • add expense form: day, month, year set to current day initially

Default start within List Expenses

When I click on List Expenses I don't want to see expenses from months within the future (even if I already inserted expenses within the future). To see them I want to click on the left button after the default page of this feature.

Edit profile picture

As a user I want to upload a picture of mine to see it in the upper right corner to get a more individual feeling with the user interface.

Edit / delete expense

As a user I want to edit a formerly created expense.

  • possibility to change expenses
  • possibility to change every attribute of an expense
  • possibility to delete expenses

Register new user

As a user never logged in before I want to be able to create a new user.

  • register page with username, password

Delete category

As a user I want to delete non used categories to get a better overview to which categories I want to group my own expenses.

  • possibility to delete non used categories

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.