Coder Social home page Coder Social logo

kt3k / moneybit-app Goto Github PK

View Code? Open in Web Editor NEW
7.0 5.0 0.0 16.79 MB

💵仕訳帳を入力したら損益計算書・貸借対照表を表示してくれるアプリ WIP

Home Page: https://kt3k.github.io/moneybit-app/

License: MIT License

JavaScript 81.49% SCSS 6.16% Nunjucks 12.35%
app webview-app android ios accounting straw

moneybit-app's Introduction

MoneyBit App - WIP

オープンソースの会計処理アプリ (フリーランサー向け)

CircleCI codecov

概要

  • 経理アプリ
  • 100% オープンソース
  • フリーランス非小売業向け
  • 年次取引数1000未満の個人事業主がメインターゲット

Goals

  • このアプリだけで日本で確定申告が出来る
  • アプリに適切に入力すれば、電卓を一切使わずに決算書の各項目を入力できる

Non-Goals

  • 決算書自体の出力, 確定申告書の出力
  • 日本以外の国のサポート (issue で上がったら順次対応していきたい, 初期リリースでは must ではない)
  • 小売など, 取引数の多い業種のサポート, PoS 連携
  • 複式簿記を知らないユーザーのサポート

High level architecture

  • WebView app
    • Use straw as native bridging framework.
  • Use capsid as UI framework.
  • Use DDD as design architecture of business logic.
  • Use bulma for css framework.
    • could be changed later.
  • Store journal data in straw.Storage.
  • i18n with t10.
  • transpile with babel
  • bundle scripts with browserify (I like it)
  • build the static resources with bulbo.
  • test with karma, mocha, chai.
  • test coverage with istanbul and codecov.
  • ci with circle-ci.

Wireframes

Features

  • Can manage multiple journals. Can switch journals.
  • Can set up/modify period of each journal.

License

MIT

moneybit-app's People

Contributors

dependabot[bot] avatar kt3k avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

moneybit-app's Issues

🔮Modeling last selected account types

  • When the user select the account type, the last selected account type should be at the first place, the second last one should be at the second place, and so on.
  • The order should depend on the major account type.

動的翻訳 (t10) が結構遅い

画面が出てから翻訳されるまでが結構見て分かる程度に遅い
html 自体を言語ごとに生成しておいた方が自然かも

⛏Monthly Summary View (subledger-modal)

  • design on sktech
  • create subledger-modal component
  • toggle subledger-modal component
  • paint rough image
  • create subledger-modal__month-list
  • create subledger-modal__month-area component
  • create subledger-modal__trade-card
  • close modal button
  • BS date switch tabs
  • (show the balancesheet of the last/first date) button and related resources
  • write unit tests

⛏edit-item-card.js

  • rename new-item-card.js to edit-item-card.js (new-item is special case of edit item)
  • open edit modal with the given trade info
  • fill info of editing item
    • fill description
    • fill date
    • create hidden id input
    • fill accounts
  • submit editing request to the store
  • edit action in trade module

⛏Create Delete this trade button

  • Add delete button in edit-item-card
    • only appear when trade.id exists
  • store: TradeModule - Action.DELETE_TRADE
  • domain: Journal.deleteById(id)
  • delete confirm modal
  • refresh trade-list when item is deleted

⛏Create New Journal Entry Component

  • add credeit/ debit row
  • entire new-item input should disappear when the input finished or canceled.
  • add a journal entry-button creates the new-item input.
  • new item validation
    • introduce js-form component in new-item-card
    • date is required
    • description is required
    • fix validation
    • reset position of error tooltip when moved
    • show overlay to hide background
    • debit / credit integrity
      • it has at least one debit and one credit selected, which has its amount.
        • the amount of debit/credit should be a number.
        • error when amount input without account type
      • the total amoutns of debits and credits should be balanced.
  • Fix new debit/credit button
  • account-type select box
    • lists all the account-types
    • lists recently used account-types first

⛏Make chart-settings page

  • add new account type button
  • select edit/delete action tooltip
    • design delete-not-available pattern
    • impl UI
    • enabled / disabled tooltip
  • rename account type modal
    • keep order
  • delete account type modal
    • redesign
    • validation (in domain, needs tests)
    • data process (in domain, needs tests)
    • impl UI
  • create account type modal
    • impl UI
  • finish editing button
  • make this default chart button
    • show toast
      • create toast component

⛏Create BS screen

  • show asset-card
  • show equity-card
  • show liability-card
  • show equity-liability-total-card
  • show revenue-card
  • show expenses-card
  • handle retained earnings in equity-card
  • show income-card
  • show the date of the balancesheet date
    • the last day of the journal
  • switch to show the last and first balancesheet.

⛏Complete trade-list

  • journalDocument.getMonths()
  • show months
    • show month label
    • remove entire month if there is no transaction in it
  • show the special message when the journal is totally empty e.g. "there is nothing to show here".
  • sort item by date
  • i18n date label
  • the trade number

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.