Giter Site home page Giter Site logo

jmanager's Introduction

JManager

A Web App that allow you to manage your personal budget and increase the global visual over it.

Build

Run the following task to generate the complete JAR using the shadow plugin.

#On linux
gradle assemble

#On windows
.\gradlew assemble

Features

  • You can register and login, so you can manipulate your own data
  • You can add an "account" which be containers of your actual budget
  • You can add sheets associated by an account, sheet is defined by a name, an amount a date and binary input of if this corresponds to an income or an outcome.
  • You can easily visualize feedback to your budget state by months.
  • You can easily visualize feedback to all of your registered accounts.

Dependencies

More

This project is my first attempt to build a business-based application. More precisely, an app centered by the customer business expectation. I also wanted it to be as flexible as possible. To do this, I tried to implement the concept of Hexagonal architecture, at least my version of this architecture.

Here you can find a good topic about this architecture In french or another topic in english.

jmanager's People

Contributors

sacane avatar

Watchers

 avatar

jmanager's Issues

Add a Tag section, using to tag a transaction

Backend

Sql tag table is already implemented but does not work already.

Here is the right definition of a tag :
A Tag is a label that can be attached with a Transaction, generally to provide a category of it. The application provide default tags named "TagDefault" which are the tags that is in common of every users.
There is another definition of a Tag named "TagPersonal" which are the tag that is attached of a user

From this, here is the features that the backend must provide :

  • Able to fetch all the tags (personal and default) from the database, here is the object the tags will return :
    Tag exemple :
{
  "name":"social"
  "pourcentage_usage":20
  "color": "#fff"
  "is_personal":true
}
  • Add a Personal Tag (if a personal tag has the same label as a default one, the operation must fail)
  • Filter transactions with selected tags
  • Delete a personnal tag
  • Edit a tag by its name or its color

Frontend

  • One "my tags" page will be add into the workflow. It will display the list of the selectable tags plus all the personal tags, and for each of them there will be a button to edit them.
  • The dialog to add a new transaction will welcome a new field for the tags
  • The my tags page will show several diagrams about the tags

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.