{"id":21729998,"url":"https://github.com/ssshetty11/swipe-card","last_synced_at":"2026-04-20T05:03:08.907Z","repository":{"id":263902647,"uuid":"891737196","full_name":"ssshetty11/swipe-card","owner":"ssshetty11","description":"This project is a React application that automates the extraction, processing, and management of invoice data from various file formats. The app organizes the extracted data into three main sections: Invoices, Products, and Customers. Changes are synchronized in real-time using Redux for consistent updates across tabs.","archived":false,"fork":false,"pushed_at":"2024-11-22T14:26:42.000Z","size":251,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-25T20:08:24.574Z","etag":null,"topics":["gemini-api","react-dropzone","reactjs","redux","vercel"],"latest_commit_sha":null,"homepage":"https://simple-payment.netlify.app/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ssshetty11.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-20T21:37:06.000Z","updated_at":"2024-11-22T14:26:46.000Z","dependencies_parsed_at":"2024-11-20T23:18:16.823Z","dependency_job_id":"e017ad31-a4bb-4ed5-9baa-5ec0dc15d045","html_url":"https://github.com/ssshetty11/swipe-card","commit_stats":null,"previous_names":["ssshetty11/swipe-card"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssshetty11%2Fswipe-card","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssshetty11%2Fswipe-card/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssshetty11%2Fswipe-card/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssshetty11%2Fswipe-card/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ssshetty11","download_url":"https://codeload.github.com/ssshetty11/swipe-card/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244706655,"owners_count":20496602,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gemini-api","react-dropzone","reactjs","redux","vercel"],"created_at":"2024-11-26T04:11:03.673Z","updated_at":"2026-04-20T05:03:03.887Z","avatar_url":"https://github.com/ssshetty11.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Swipe Card - Automated Data Extraction and Invoice Management\n\nThis project is a React application that automates the extraction, processing, and management of invoice data from various file formats. The app organizes the extracted data into three main sections: Invoices, Products, and Customers. Changes are synchronized in real-time using Redux for consistent updates across tabs.\n\n## Features\n\n1. **File Uploads**  \n   - Supports uploading different file types, including:\n     - **Excel files**: Contain transaction details such as serial number, net/total amount, and customer information.\n     - **PDF/Images**: Contain invoices with customer and item details, including totals, tax, and more.\n   \n2. **AI-Powered Data Extraction**  \n   - Implemented an AI-based solution to extract relevant data from all file types and organize it into the following tabs:\n     - **Invoices**: Serial Number, Customer Name, Product Name, Quantity, Tax, Total Amount, Date.\n     - **Products**: Product Name, Quantity, Unit Price, Tax, Price with Tax (optional Discount field).\n     - **Customers**: Customer Name, Phone Number, Total Purchase Amount (additional customer data optional).\n\n3. **Real-time Synchronization with Redux**  \n   - Uses Redux for centralized state management.\n   - Changes made in the Products or Customers tabs are reflected in real-time across all tabs, e.g., if the Product Name is updated in the Products tab, the corresponding entry in the Invoices tab will update automatically.\n\n4. **Validation and Error Handling**  \n   - Ensures data completeness and accuracy.\n   - Provides user-friendly feedback on unsupported file formats and extraction errors.\n   - Highlights missing fields and prompts the user to complete them.\n\n5. **Bonus Features**  \n   - Additional fields in any of the tabs are supported for added details.\n\n## Project Structure\n\nThe app is organized into three main sections:\n\n- **Invoices Tab**  \n   Displays a table with the following columns:\n   - Serial Number\n   - Customer Name\n   - Product Name\n   - Quantity\n   - Tax\n   - Total Amount\n   - Date\n\n- **Products Tab**  \n   Displays a table with the following columns:\n   - Product Name\n   - Quantity\n   - Unit Price\n   - Tax\n   - Price with Tax\n   - Discount (optional)\n\n- **Customers Tab**  \n   Displays a table with the following columns:\n   - Customer Name\n   - Phone Number\n   - Total Purchase Amount\n\n## AI Test Cases\n\nThe application is tested on the following cases:\n\n1. **Invoice PDFs**\n2. **Invoice PDFs + Images**\n3. **Excel Files**\n4. **Excel Files (Multiple)**\n5. **All Types of Files (Mix of PDF, Image, Excel)**\n\nThe AI-powered extraction is designed to handle these cases and highlight missing information if it can't be extracted from the files.\n\n## Tech Stack\n\n- **Frontend**: React, Redux\n- **AI Integration**: Google Gemini API for document and vision processing\n- **File Uploads**: React Dropzone\n- **Backend (Optional)**: Any serverless solution like Firebase, AWS Lambda (if processing is done on the server-side)\n- **Deployment**: Vercel/Netlify for deployment\n\n## Web Site: \nhttps://simple-payment.netlify.app/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fssshetty11%2Fswipe-card","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fssshetty11%2Fswipe-card","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fssshetty11%2Fswipe-card/lists"}