Giter Club home page Giter Club logo

Comments (2)

jakehilborn avatar jakehilborn commented on July 18, 2024

I had not found your project before. I tried searching around so much for existing solutions but could only find projects more than a few years old that were abandoned.

Haha the class/file organization/hierarchy/inheritance of debbit isn't its strongest trait. I just wanted to get a script working for myself and then expanded it into what is is today. I'm good with Python for scripting but I've never built out an application with it before. I've learned a lot while writing debbit, but it's certainly not a proper codebase. Since it's not a large project with lots of people working concurrently I focused more on just getting something out the door that works. I'm certainly more strict about project layouts in my day job.

I think Python's dynamic typing is a downside. I'm wary about using anything with npm though since the ecosystem has many stability issues and revisiting projects years later becomes dependency hell. I'm even concerned about pipenv as the dependency manager for debbit for getting reproducible builds. I'm more trusting of Maven/Gradle with JVM language projects which have treated me well in the past.

If I were to write debbit again I'd spend some time seeing if Kotlin would fit the bill. I'm using Pyinstaller to get cross platform binaries. It works, but there are OS version problems and I had to figure out a couple runtime hacks to get debbit to behave consistently across source and binaries on mac/windows/linux. I've never distributed a desktop JVM application but I'm guessing it's better suited than Python.

I'm really not all that happy with the config file for debbit. I'm betting it's hard for people to get all the line breaks and indentation right for yaml. But json isn't really any better there either due to the comma requirements. Plus discoverability in config files is hard. So I put sane defaults and documented all the config here with the hopes that people can figure it out.

That's pretty impressive you integrated with all those financial institutions. Integrations are such a pain, ESPECIALLY the web scraping ones. I built out an error reporting system that takes screenshots, dumps the dom, saves the stacktrace, and uses a code coverage library to show which lines/branches were taken. Still though, even with incessant pleading people still report bugs without including those files. Probably in a future update I'll put an opt-in config option to auto-send error reports to me. In lieu of the financial institution integration, the state storage and scheduler keeps debbit running predictably. Worst case scenario a few more cents are spent than necessary. I chose to prioritize maintainability since this is just a side project.

from debbit.

ab763 avatar ab763 commented on July 18, 2024

Thanks. I agree with you on most of it. 👍

I'm wary about using anything with npm though since the ecosystem has many stability issues and revisiting projects years later becomes dependency hell.

I think those issues have been somewhat overblown by others, especially as you say, this is a hobby project. I don't know how much you've worked with the npm ecosystem, my apologies. There have been a couple high-profile cases of authors taking down their work and therefore breaking other high-profile software. Projects using npm can specify particular version(s) of dependencies to utilize as well. Of course, over time those versions may have security issues, etc. However, I'd imagine most of these issues could affect other languages' ecosystems as well?

Ha, I just realized that you also do displayplacer. What a small world. I've previously submitted code for displayplacer under a different GitHub ID haha.

I agree that both YAML and JSON have downsides. Perhaps TOML? 😊 (Regardless, I had previously seen your config documentation as thought it excellent.) Or an even better solution would be a configuration GUI.

I haven't done a project before using the Electron cross-platform desktop app or Angular frameworks, but I am thinking to try them next for this.

I had been focused more on my use cases around a number of transactions, but typically only one transaction per financial account, as opposed to many transactions for a single financial account. Do you (/ your users?) leave debbit running continually?

Even once I'd done those integrations, the companies change their sites over time so the integrations can break. Your extensive logging and offer to add integrations for others is impressive as well.

from debbit.

Related Issues (20)

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.