Giter Site home page Giter Site logo

cozy / cozy-banks Goto Github PK

View Code? Open in Web Editor NEW
58.0 15.0 27.0 351.43 MB

A Banks Aggregator on Cozy

Home Page: https://cozy.io

License: GNU Affero General Public License v3.0

JavaScript 96.38% Shell 0.28% CSS 0.04% HTML 0.05% Python 0.08% Stylus 2.23% Handlebars 0.88% EJS 0.06%
cozy banks aggregator

cozy-banks's Introduction

Cozy Banks

Travis build status shield Github Release version shield NPM Licence shield

Cozy Banks is the personal financial management application available on Cozy. It helps you gain understanding of your personal finances, and much more . As the first digital home on the market, Cozy helps all users with applications and connectors regain control, streamline and maximize their digital lives.

With Cozy Banks, you can easily:

  • Have all your bank accounts in one place
  • Get an comprehensive overview of all your expenses with one-click access to your bills
  • Directly access your health insurance reimbursements
  • Enjoy all the features for free

Feature requests

We love getting feedback, do not hesitate if you have any. Please use the forum for any feature requests.

cozy-banks's People

Contributors

acezard avatar cballevre avatar cpatchane avatar crash-- avatar dependabot[bot] avatar doubleface avatar enguerran avatar fffflo avatar flohhhh avatar francoisweber avatar goldoraf avatar gooz avatar gregorylegarec avatar jf-cozy avatar kosssi avatar ldoppea avatar lucst avatar merkur39 avatar moooss avatar nono avatar paultranvan avatar polaritoon avatar probot-auto-merge[bot] avatar ptbrowne avatar renovate-bot avatar renovate[bot] avatar taratatach avatar trollepierre avatar y-lohse avatar zatteo 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  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  avatar

Watchers

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

cozy-banks's Issues

Clean up fixtures

We have a lot of files in the fixtures. Some of them must be out of date.

Used optimization split chunks for services

Since we have several services in Banks with several entrypoints we end up
with several bundles whose content is mostly shared code. It would be good
to use webpack's optimization.splitChunks.

It is not supported yet in webpack 4 but will be in webpack 5.

PR that implements functionality: webpack/webpack#8575
Example of using split chunks: https://webpack.js.org/plugins/split-chunks-plugin/#split-chunks-example-1

So we will be able to significantly lower the total size of the banks bundle
when we use webpack 5.

Remove bluebird

We have some dependencies that could be easily removed. The benefits would be less renovate PRs to take care of and maybe lighter bundles (thus this will certainly not very significant).

  • bluebird: this is used only in the bills linker. This could be easily replaced by native promises
  • others?

Can't launch the application for development

I would like to try out working on cozy-banks source code but I fail to start the application.

With yarn watch:browser

$ yarn watch:browser
...
ℹ 「wds」: Project is running at http://localhost:8282/
...
WARNING in react-is
  Multiple versions of react-is found:
...
ℹ 「wdm」: Compiled with warnings.

In http://localhost:8282/, I get many errors in the console and a blank page:

2018-12-12-203209_955x479_scrot

With cozy-scripts start

$ npx cozy-scripts start --hot --browser
...
App successfully compiled!
  Your application:    http://banks.cozy.tools:8080
  Your local Cozy:     http://cozy.tools:8080
  CouchDB:             http://localhost:5984/_utils
  MailHog:             http://localhost:8025
  Dev assets:          http://localhost:8888
...
ERROR in multi webpack-dev-server/client?http://localhost:8888/ webpack/hot/dev-server /home/c
assou/.npm/_npx/6860/lib/node_modules/cozy-scripts/node_modules/babel-polyfill/lib/index.js /h
ome/cassou/.npm/_npx/6860/lib/node_modules/cozy-scripts/utils/reactExposer.js ./src/targets/br
owser/index.jsx                                                                              
Module not found: Error: Can't resolve '~/projects/cozy-banks/src/targets
/browser/index.jsx' in '~/projects/cozy-banks'                          
 @ multi webpack-dev-server/client?http://localhost:8888/ webpack/hot/dev-server /home/cassou/
.npm/_npx/6860/lib/node_modules/cozy-scripts/node_modules/babel-polyfill/lib/index.js /home/ca
ssou/.npm/_npx/6860/lib/node_modules/cozy-scripts/utils/reactExposer.js ./src/targets/browser/
index.jsx app[4]                                                                             

ERROR in   Error: Child compilation failed:
  Entry module not found: Error: Can't resolve '~/projects/cozy-banks/src
  /targets/browser/index.ejs' in '~/projects/cozy-banks':               
  Error: Can't resolve '~/projects/cozy-banks/src/targets/browser/index.e
  js' in '~/projects/cozy-banks'                                        

Categorisation colors

When switching between months, the color of each category changes, which makes it hard to track down the changes in proportions from one month to another.
Each category (e.g. transport) should have an assigned, constant (possibly customisable) color.

replace by import { getCSSVariableValue } from 'cozy-ui/transpiled/utils/colors'...

// TODO replace by import { getCSSVariableValue } from 'cozy-ui/transpiled/utils/colors'
// when https://github.com/cozy/cozy-ui/issues/1153 is solved
const getCSSPropertyValue = memoize(varName => {
const computedStyle = getComputedStyle(document.body)
return computedStyle.getPropertyValue(varName)
})


This issue was generated by todo based on a TODO comment in af97784 when #1564 was merged. cc @cozy.

Extraction des opérations

Bonjour

Avez vous dans votre roadmap (je n'en ai pas trouvé) prévu de mettre à disposition une extraction des données. J'utilise un logiciel (HomeBank qui est openSource) pour gérer mes différents comptes. Je me balade donc sur les sites de mes différents comptes pour extraire sur chacun d'eux mes opérations afin de les importer dans le logiciel.

Il existe entre autres les formats qif et ofx.

J'ai bien tenté de regarder le code pour voir si ma demande à un sens mais je fais plutôt du Cobol (on ne rigole pas !!!).

Je continuerais d'utiliser vos services quelque soit votre réponse ;)

Merci pour votre boulot et bonne continuation.

Diviser une dépense

Afin d'affecter une catégorie à chaque partie d'une dépense (par exemple un achat d'alimentation + culture), on doit pouvoir diviser une dépense en définissant des sous-totaux.

Suppression de compte bancaire non pérenne

Bonjour,
Merci pour cette application très utile. Je constate cependant un bug : lorsque je souhaite supprimer un compte en banque de la liste des comptes qui sont affichés (Paramêtres -> Comptes -> [compte concerné] -> Effacer -> Confirmer la suppression), il réapparaît le lendemain. La suppression n'est pas pérenne.
Merci

Utiliser un seul document settings au lieu d'une collection

Actuellement nous sauvegardons les préférences de l’utilisateur et d'autres informations dans un document io.cozy.bank.settings. Pour pouvoir récupérer ce document nous récupérons une collection de io.cozy.bank.settings et on prend le 1er document (on espère qu'il y en a qu'un seul)

On peut voir ce type de code:

export const getSettingsFromCollection = col =>
  merge(DEFAULTS_SETTINGS, get(col, 'data[0]'))

Je propose que l'on nomme ce document plutôt que l'id soit généré par couchdb.

On pourrait alors demander à la stack seulement un document plutôt qu'une collection.

Tests log too much

There is too much logs in the tests, it is distracting and could potentially
hide buggy and/or undesirable behavior.

Ways to mitigate:

import logger from 'cozy-logger'

logger.setLevel('error')
jest.spyOn(console, 'warn').mockImplementation() # only for some test suites/test files

Extract this from this function, this is not its role to also add

// TODO Extract this from this function, this is not its role to also add
// the reimbursement
if (creditOperation && debitOperation) {
promises.push(
this.addReimbursementToOperation(bill, debitOperation, creditOperation)


This issue was generated by todo based on a TODO comment in a31e2e6. It's been assigned to @drazik because they committed the code.

Déplacement d'une catégorie

La sous-catégorie "retrait d'espèces" dans les catégorisations des mouvements fait partie de la catégorie "à catégoriser" mais je trouverai plus logique qu'elle apparaisse dans "Dépenses vie courante".

De façon plus générale, il serait pratique de pouvoir créer / modifier des catégories en plus de celles existant par défaut.

Assurance vie non remontée - Connecteur Crédit Mutuel

Bonjour,

J'espère que c'est le bon repo pour faire ce signalement de bug :)
En connectant mes différents comptes bancaires, j'ai remarqué que celui du Crédit Mutuel remonte bien tous mes produits bancaires sauf un : une assurance vie. C'est étonnant, j'en ai deux et la première apparaît sans problème.

Pouvez-vous y faire quelque chose, où est-ce lié à Linxo ?

Merci d'avance,
Cordialement,

Translations case inconsistencies

We have a lot of inconsistencies in translations keys case. We have UpperCamelCase, camelCase and snake_case in it. We must clean it.

[meta] Perf build

Baseline: 2421ko

image

  • Remove duplicate lib via webpack aliasing : 2317ko

image

  • Do not bundle all d3 inside build : 2179ko

image

First PR perf : #907

Possible candidates for size reduction:

  • Removing moment from chart.js

    • Another approach taken by chartJS is to add the feature to have adapters to be able to replace moment by another library. chartjs/Chart.js#4303. This normally would allow us to use date-fns.
    • Remove completely moment via webpack chartjs/Chart.js#4303 (comment)
  • Only import what we need from cozy-ui, verify tree shaking for cozy-ui

  • Cozy Authentication build ? Why is it so big ? Transpile it.

  • Localforage ?

  • Cozy stack client db.json (issue here, cozy/cozy-client#109)

How to write our own bank providers?

Hi devs!

I wanted to try out Cozy Banks, but noticed you don't really support many banks outside of France. I wrote a data-crawler for one of my banks in Poland, and wanted to integrate and contribute it.

But I can't see any of the providers in the repository.

Where can we find the code behind the providers, and how can we contribute?

I'm sure crowdsourcing the providers would be a much better way to cover lots and lots of banks.

Cheers!

Do not pass templateData to global template function

// TODO Do not pass templateData to global template function
// templateData is passed to the global template function for now but it should change
// at some point since it is the stack that will do this part and it will
// not receive the application specific templateData
// To prevent this it would be good to also extract the *parts* inside bank-layout and
// compile them with the templateData.


This issue was generated by todo based on a TODO comment in e60ec45 when #1577 was merged. cc @cozy.

Display issue with the pie chart

I have a problem with the text displayed when I move the mouse pointer on the different pie charts: the text is mixed with the text bellow and is not readable. See attached screen shot.

cozy

I use Firefox 61.0.1 on macOS High Sierra. Tell me if you need more details.
Thanks for Cozy.

Better handling of errors

  • Add a message into the div filled by React that would be displayed in case of runtime error during app initialization

This is the approach adopted by whatsapp web. When loading the page you can see "You need Firefox > 56 etc..." and then it disappears.

Le bouton Inclure les revenus de la vue Catégorisation ne rafraîchit pas le graphe

Bonjour,
Dans cozy-banks (version mobile et Android) le switch permettant d'Inclure les revenus ne rafraîchit pas le graphe lorsqu'il change d'état.
Scénario:

  1. Ouvrir Cozy-banks sur la vue Catégorisation (Inclure les revenus est désactivé)
  2. Cliquer sur Inclure les revenus pour l'activer.

Résultat :
Le bouton change d'état mais le graphique affiche toujours la même information

Résultat attendu:
Le bouton change d'état et le graphique affiche la répartition en incluant les revenus.
By-pass:
3. Ouvrir une catégorie
4. Revenir en arrière avec le bouton précédent
=> Le graphique est maintenant à jour

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.