Code Monkey home page Code Monkey logo

cashflow's Introduction

Hi there ๐Ÿ‘‹

cashflow's People

Contributors

angelsenra avatar

Watchers

 avatar

cashflow's Issues

New product: Track investments

Add the ability to track existing investments.

  • It requires some API from which to check the current price of a company/ETF

User authentication and projects

  • Create/edit the User model and make Projects belong to Users.
  • Create a page to authenticate.
  • Create a Project model and assign Categories to it (Expenses belong to Categories so also will be children of Projects).
  • Create a page with all the projects of a user. And make it the main page after authentication.
    • When the user clicks on a project, they go to the project overview page (currently the table view).
  • Allow the user to create new Projects.
    • They should be able to select from "category templates".

Expenses: Collapse categories in table view

Allow collapsing categories in the list view. So only the total sum is displayed.

  • Unrelated: add an option to delete the project.
  • Unrelated: add an option to update the project.

Apply linting

  • Apply linting (black, isort, pylint, mypy?).
  • And configure Github actions to check that everything is properly linted. (or should this be a separate issue?).

Create main table view

Create basic excel-like view to see expenses by category.

The column names are first the priorities (do these even need to exist? Are they different from just a category?) and then the categories.
The row names are the period names (default: month).

New product: Split expenses

Ability to add expenses and share them with users of cashflow.

  • List of friends.
  • By default adding someone as a friend creates a new list of expenses (project? group?).

Filter expenses list

Filter list view based on period or category.

  • Allow filtering in the URL.
  • Make every cell on the table clickable (without text decoration and with a hover state).
  • When filtering by category, preselect that category in the "create expense" dialog.
  • Unrelated: Fix current breadcrumbs and page titles.
  • Idea: Maybe add a "quickly add" inline form to the list. To create expenses quickly.

Improve authentication

  • Allow logging in / signing up using Google and Github.
  • Add proper styles to the authentication dialog.
  • Also allow the normal signup without an email.
  • Make sure "forgot password" doesn't crash. By now show that email-sending is WIP (and add #TODO in the code)
  • Question: what are site domains?
  • Unrelated: Add inline expense creating to the table view.

Create list view

Create a list view of expenses by period (default months)

  • Create, Update, Delete is not mandatory but nice to have if it's simple.

Export/import ALL user data as JSON

This way I can copy data accross environments (dev/stag/prod/whatever).

  • The export should contain a version number. And the import should verify whether that version can be imported into the current app. Otherwise show an error.

Pagination

Show more than the last 6 months and correctly handle pagination

Deploy on heroku

Automatically deploy the code to Heroku on push to main.

  • Make sure static files are available. -- kind of.
  • Create docker-compose environment with Postgres.
  • Make settings.py variables depend on the environment.
  • Fix current security issues on settings.py. -- kind of. Just good enough to deploy on Heroku. Not super secure.
  • Create a Heroku app and tweak it to work.
  • Make it auto-deployable (as well as manually deployable). -- https://status.heroku.com/ currently has issues with Github so I'll need to do the automatic part later.
  • Question: What are "sites" from allauth and do they matter here?
  • Fix currently failing tests (they are missing the environment variables).

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.