Giter Club home page Giter Club logo

budget-manager's People

Contributors

shoshinnikita avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

budget-manager's Issues

How to run using docker-compose?

  • I've tried the README way.
    • In which I was getting database init error: couldn't create DB connection: database is down error.
  • Hence, I have build the project using docker-compose up --build and I was able to start the server.
    • But later on the browser I got 404 error.

Add special error types for DB package

Add special error types for internal/db package:

  • BadRequestErrorType - error caused by invalid request data (empty id)
  • InternalErrorType - error caused by internal error (db error)

Add property "amount" for Spends

  • Default value can be NULL or 0 (no value). Another option is to use 1 by default.
  • Value can be rational: 0.152, 3, 1.75 and etc. The maximum precision is 0.0001. We can store it as v*1000 (like money)
  • We can display price (use different name?) next to the cost. Price would be cost / amount. If amount is undefined, price would be -
  • We have to display a lot of data on Month page. So, we can show price only on Search & Statistics page

Add info block on pages

Add an info block with the current version and the hash commit. Also specify a link to the GitHub repo

Support nested Spend Types

  • Add field ParentID into Spend Type structure
  • Update API and UI to create and edit Spend Types
  • Update search UI: if chosen Spend Type has children, chose them too

Update documentation

  • Add project description
  • Add Setup section (docker-compose.yaml example and etc.)
  • Add screenshots

Update scripts

  • Review all scripts and update or remove outdated ones
  • Remove directory /tools:
    • fill_db.go is barely used. It is easier to init the db manually
    • api.rest is meaningless because there's swagger.yml that can be used to make requests
    • bench.sh also doesn't make much sense because it is difficult to reproduce the results

Format links

Format links in Notes section:

  • trim them to N characters
  • highlight them

Add search

  1. Update API

    GET /api/search
    Content-Type: application/json
    Authorization: Basic ...
    
    {
      "title": "foo"   # title pattern (contains)
      "notes": "sales" # notes pattern (contains)
    
      "after":  "2006-01-02T15:04:05Z07:00" # start date to search (`RFC3339` layout)
      "before": "2006-01-02T15:04:05Z07:00" # end date to search (`RFC3339` layout)
    
      "min_cost": "15.5" # minimal Spend Cost
      "max_cost": "27.3" # maximal Spend Cost
    
      "type_ids": "1,2,55" # list of Spend Type ids separated by comma
    }
  2. Add a page with url /search. It supports all params from API but consumes them from query parameters

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.