{"id":23631001,"url":"https://github.com/kanugurajesh/invoice","last_synced_at":"2025-10-10T14:33:23.422Z","repository":{"id":266505501,"uuid":"895486866","full_name":"kanugurajesh/Invoice","owner":"kanugurajesh","description":"Automated Data Extraction and invoice management application","archived":false,"fork":false,"pushed_at":"2025-01-21T18:27:03.000Z","size":1247,"stargazers_count":6,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-16T21:24:46.392Z","etag":null,"topics":["automated","data-extraction","expressjs","gemini-api","invoice-management","material-ui","mern-stack","performance-optimization","reactjs","real-world-project","redux-toolkit","typescript","vite"],"latest_commit_sha":null,"homepage":"https://invoice-kc4j.vercel.app/","language":"TypeScript","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/kanugurajesh.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":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-11-28T09:52:41.000Z","updated_at":"2025-07-19T02:33:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"0baca7a9-49dd-486f-bb6d-d918b30e57c2","html_url":"https://github.com/kanugurajesh/Invoice","commit_stats":null,"previous_names":["kanugurajesh/invoice"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kanugurajesh/Invoice","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kanugurajesh%2FInvoice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kanugurajesh%2FInvoice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kanugurajesh%2FInvoice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kanugurajesh%2FInvoice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kanugurajesh","download_url":"https://codeload.github.com/kanugurajesh/Invoice/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kanugurajesh%2FInvoice/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279004176,"owners_count":26083688,"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","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["automated","data-extraction","expressjs","gemini-api","invoice-management","material-ui","mern-stack","performance-optimization","reactjs","real-world-project","redux-toolkit","typescript","vite"],"created_at":"2024-12-28T02:48:13.997Z","updated_at":"2025-10-10T14:33:23.391Z","avatar_url":"https://github.com/kanugurajesh.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"When making the request the backend may give response with some delay this is due to the backend is deployed on render.com which spins down the server if it not used but once you send a request the server spins up and the delay won't be there for the consequent request\n\n# Automated Data Extraction and Invoice Management System\n\nA React-based application for Swipe that automates the extraction, processing, and management of invoice data from various file formats. The application organizes extracted data into three main sections: Invoices, Products, and Customers, with real-time synchronization using Redux.\n\n## 🎯 Project Overview\n\nThis application successfully implements all requirements and test cases, providing a robust solution for automated invoice processing.\n\n### ✅ Key Features\n\n- **Multi-format File Processing**\n  - Excel files (transaction details)\n  - PDF invoices\n  - Image-based invoices\n  - Seamless handling of mixed file types\n\n- **AI-Powered Data Extraction**\n  - Implemented using Google Gemini API\n  - Intelligent data recognition and categorization\n  - Automatic field mapping and organization\n\n- **Interactive Dashboard**\n  - Invoices Tab: Complete transaction details\n  - Products Tab: Comprehensive product inventory\n  - Customers Tab: Customer information and purchase history\n\n- **Real-time Data Synchronization**\n  - Redux-based state management\n  - Instant updates across all tabs\n  - Consistent data representation\n\n### ✅ Test Cases Completed\n\nAll test cases have been successfully implemented and thoroughly tested:\n\n1. **Case-1**: Single Invoice PDFs\n2. **Case-2**: Mixed Invoice PDFs and Images\n3. **Case-3**: Single Excel File Processing\n4. **Case-4**: Multiple Excel Files\n5. **Case-5**: Mixed File Types (All Formats)\n\n## 🚀 Live Demo\n\nApp Link :- https://invoice-kc4j.vercel.app/\n\u003cbr /\u003e\nVideo Link :- https://youtu.be/XNAYFbIKPXA\n\n\u003c!-- TODO: Add live demo link --\u003e\n\n## 🛠️ Technology Stack\n\n- **Frontend**: React.js, Redux\n- **UI Framework**: Material UI\n- **AI Integration**: Google Gemini API\n- **State Management**: Redux\n- **Styling**: Tailwind Css\n- **Backend**: Express.js, Node.js\n- **Language**: Typescript\n\n## 📦 Installation\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/kanugurajesh/invoice\n   ```\n\n2. Install dependencies\n   ```bash\n   cd frontend\n   npm install\n   create .env file and add the following environment variable. in VITE_API_URL add link of the hosted backend\n   cd ../backend\n   create .env file and add the following environment variable\n   GEMINI_API_KEY=\n   npm install\n   ```\n\n3. Run the development server\n   ```bash\n   cd frontend\n   npm run dev\n   cd ../backend\n   npm run dev\n   ```\n\n## 💻 Usage\n\n### Data Tables\nThe application features interactive data tables with the following capabilities:\n- In-line cell editing\n- Data consistency\n\n### File Upload\nUpload data files to import information into the system:\n- Supported formats: Pdf's, Excel, Images\n- Automatic validation\n- Error handling for invalid data\n\n### Error Handling\nThe application includes comprehensive error handling:\n- Graceful error recovery\n- User-friendly error messages\n- Detailed error logging\n\n## 👥 Authors\n\n- kanugurajesh\n\n## Demo\n\n[![Invoice](https://img.youtube.com/vi/XNAYFbIKPXA/0.jpg)](https://youtu.be/XNAYFbIKPXA)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkanugurajesh%2Finvoice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkanugurajesh%2Finvoice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkanugurajesh%2Finvoice/lists"}