Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable File Upload for CSV transaction imports #799

Open
5 tasks
zachgoll opened this issue May 23, 2024 · 4 comments
Open
5 tasks

Enable File Upload for CSV transaction imports #799

zachgoll opened this issue May 23, 2024 · 4 comments
Labels
💡 Improvement Improvements to an existing feature or flow 🚀 Feature

Comments

@zachgoll
Copy link
Collaborator

Image

Feature Overview

This is a follow up feature to the CSV imports that were already implemented in #708

In the original feature, only "copy/paste" was enabled. This issue's purpose is to add the ability for a user to directly upload a File.

Requirements

If there is a missing / incorrect requirement, please leave a comment before starting work on this.

  • User sees 2 tabs on the "load" step—"Upload CSV" or "Copy & Paste"
  • Copy/paste tab should use existing implementation
  • File upload should allow user to click or drag to upload a CSV file
  • File upload status (likely via ActionCable)
  • All errors handled (see designs) - many of these are already handled by validations on the Import model

Implementation Suggestions

Below are some ideas for implementation to get you started. Use your best judgment here—if there's a better way to do things, go for it!

  • We don't necessarily need to store the file that is uploaded. We simply need to get the CSV string and save it to raw_csv_str column on Import
    • We may eventually run into performance issues with this, but we'll address that in a later issue if needed.

Designs

Below are the designs you should follow while implementing this:

https://www.figma.com/design/lonJmVk3HYkwZoIO7xYP2w/Maybe-App-(Community)?node-id=3656-18086&t=t84SVrxXV2CSiCM7-0

Reminders

  • Make sure to review our contributing guidelines before starting on an issue
  • We do our best to define a clear spec for new features and fixes, but think of them as "suggestions", not "hard requirements". We welcome ideas and suggestions!
    • If you see missing requirements to this issue, please leave a comment below explaining what is missing and why it is important.
    • If you see a requirement that you think is incorrect or not optimal, please leave a comment explaining what you think needs to change below.
@zachgoll zachgoll added 🚀 Feature 💡 Improvement Improvements to an existing feature or flow labels May 23, 2024
@joehoyle
Copy link

joehoyle commented Jun 1, 2024

Related: when importing a CSV it seems there's no option to skip category / tags, i.e. select "no" field to map those to.

@zachgoll
Copy link
Collaborator Author

zachgoll commented Jun 3, 2024

@joehoyle yeah I had run into this with a few of my own imports too. Created an issue here that we can cover this in:

https://github.com/orgs/maybe-finance/projects/14/views/1?pane=issue&itemId=65794196

@joehoyle
Copy link

joehoyle commented Jun 5, 2024

Just another note: I tried to import CSV of about 6k lines. I was able to paste it into the field and import, but that basically hung the docker container for over an hour, and the import never completed, so it seems maybe the CSV imported has performance issues.

@zachgoll
Copy link
Collaborator Author

zachgoll commented Jun 6, 2024

@joehoyle any chance you have some logs you could share?

The import happens in a background job, so can you check to make sure you have GOOD_JOB_EXECUTION_MODE: async set in your environment?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💡 Improvement Improvements to an existing feature or flow 🚀 Feature
Projects
Development

No branches or pull requests

2 participants