{"id":48481097,"url":"https://github.com/iamernesto14/modern-invoice-app","last_synced_at":"2026-04-07T08:07:20.769Z","repository":{"id":297439991,"uuid":"996521876","full_name":"iamernesto14/modern-invoice-app","owner":"iamernesto14","description":"Modern invoice app","archived":false,"fork":false,"pushed_at":"2025-06-09T09:38:36.000Z","size":307,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-01T07:14:26.071Z","etag":null,"topics":["angular","html","javascript","scss"],"latest_commit_sha":null,"homepage":"https://cosmic-faun-0a76f8.netlify.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/iamernesto14.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,"zenodo":null}},"created_at":"2025-06-05T04:27:35.000Z","updated_at":"2025-06-09T09:38:40.000Z","dependencies_parsed_at":"2025-06-05T13:42:14.173Z","dependency_job_id":"e95cde1e-c08c-444a-a76a-57d1fd53e176","html_url":"https://github.com/iamernesto14/modern-invoice-app","commit_stats":null,"previous_names":["iamernesto14/modern-invoice-app","iamernesto14-frontend/modern-invoice-app"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/iamernesto14/modern-invoice-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamernesto14%2Fmodern-invoice-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamernesto14%2Fmodern-invoice-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamernesto14%2Fmodern-invoice-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamernesto14%2Fmodern-invoice-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iamernesto14","download_url":"https://codeload.github.com/iamernesto14/modern-invoice-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamernesto14%2Fmodern-invoice-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31504899,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T03:10:19.677Z","status":"ssl_error","status_checked_at":"2026-04-07T03:10:13.982Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["angular","html","javascript","scss"],"created_at":"2026-04-07T08:07:20.652Z","updated_at":"2026-04-07T08:07:20.746Z","avatar_url":"https://github.com/iamernesto14.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Modern Invoice App\n\nA modern, responsive invoice management application built with Angular and NgRx. This app allows users to create, edit, and manage invoices, supporting features like itemized billing, client management, and status tracking.\n\n## Setup \u0026 Run Instructions\n1. **Prerequisites**:\n   - Node.js (version 16.x or later)\n   - Angular CLI (install globally: `npm install -g @angular/cli`)\n2. **Clone the Repository**:\n   ```bash\n   git clone https://github.com/iamernesto14/modern-invoice-app.git\n   cd invoice-app\n   ```\n3. **Install Dependencies**:\n   ```bash\n   npm install\n   ```\n4. **Run the Application**:\n   ```bash\n   ng serve\n   ```\n5. **Access the App**:\n   - Open your browser and navigate to `http://localhost:4200`.\n\n## Features\n\n- Create, edit, and delete invoices\n- Itemized invoice entries with quantity, price, and total calculation\n- Client and sender address management\n- Invoice status tracking (paid, pending, draft)\n- Filter and search invoices by status\n- Responsive design with light/dark mode support\n- State management using NgRx (Store, Effects, Devtools)\n- Data persistence via HTTP (mocked with local JSON for development)\n\n## Project Structure\n\n```\nsrc/\n  app/\n    components/\n      header/\n      invoice-form/\n      status/\n      ...\n    pages/\n      invoice-page/\n      invoice-detail-page/\n      ...\n    services/\n    state/\n      invoice/\n        effects/\n        reducers/\n    interfaces/\n    model/\n    app.component.ts\n    app.component.html\n    app.config.ts\n    app.routes.ts\n  assets/\n    data.json\n    svgs/\n  styles/\n    _base.scss\n    _variables.scss\n  main.ts\n  styles.scss\n  index.html\n```\n\n## Usage\n\n- **Create Invoice:** Click the \"New Invoice\" button, fill in the form, and submit.\n- **Edit Invoice:** Click on an invoice in the list, then click \"Edit\".\n- **Delete Invoice:** Click on an invoice, then click \"Delete\".\n- **Filter:** Use the filter dropdown to view invoices by status.\n\n## Technologies Used\n\n- [Angular](https://angular.io/)\n- [NgRx](https://ngrx.io/) (Store, Effects, Devtools)\n- [SCSS](https://sass-lang.com/)\n- [RxJS](https://rxjs.dev/)\n\n## File Highlights\n\n- **Invoice Form:** [`invoice-form.component.html`](src/app/components/invoice-form/invoice-form.component.html)  \n  Handles both new and edit invoice forms, including dynamic item lists.\n- **State Management:**  \n  - Reducers: [`loadData.reducer.ts`](src/app/state/invoice/reducers/loadData.reducer.ts)\n  - Effects: [`load-data.effect.ts`](src/app/state/invoice/effects/load-data.effect.ts)\n- **App Configuration:** [`app.config.ts`](src/app/app.config.ts)\n- **Styling:**  \n  - Variables: [`_variables.scss`](src/styles/_variables.scss)\n  - Base styles: [`_base.scss`](src/styles/_base.scss)\n  - Main styles: [`styles.scss`](src/styles.scss)\n\n## License\n\nMIT License","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamernesto14%2Fmodern-invoice-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiamernesto14%2Fmodern-invoice-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamernesto14%2Fmodern-invoice-app/lists"}