{"id":21666646,"url":"https://github.com/anasyakubu/invoice-generator-pip","last_synced_at":"2026-04-09T19:47:47.939Z","repository":{"id":250377145,"uuid":"834252953","full_name":"anasyakubu/invoice-generator-pip","owner":"anasyakubu","description":"The Invoice Generator for Freelancers simplifies the invoicing process for independent professionals. Easily create and customize invoices, track payments, and manage billing with user-friendly features tailored to meet the needs of freelancers.","archived":false,"fork":false,"pushed_at":"2024-08-05T17:55:52.000Z","size":153,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-25T08:24:13.178Z","etag":null,"topics":["css","database","git","html","invoice-generator","javascript","mysql","nodejs","sql"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anasyakubu.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-07-26T19:07:11.000Z","updated_at":"2024-08-06T05:49:58.000Z","dependencies_parsed_at":"2024-08-05T20:32:14.967Z","dependency_job_id":null,"html_url":"https://github.com/anasyakubu/invoice-generator-pip","commit_stats":null,"previous_names":["anasyakubu/invoice-generator-pip"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anasyakubu%2Finvoice-generator-pip","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anasyakubu%2Finvoice-generator-pip/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anasyakubu%2Finvoice-generator-pip/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anasyakubu%2Finvoice-generator-pip/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anasyakubu","download_url":"https://codeload.github.com/anasyakubu/invoice-generator-pip/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244566929,"owners_count":20473451,"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":["css","database","git","html","invoice-generator","javascript","mysql","nodejs","sql"],"created_at":"2024-11-25T11:28:21.381Z","updated_at":"2025-10-26T12:33:27.824Z","avatar_url":"https://github.com/anasyakubu.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Invoice Generator\n\nThis project is a simple invoice generator web application. It allows users to add services and generate invoices in PDF format. The backend is built with Express.js, MySQL, and PDFKit, while the frontend uses plain JavaScript and Axios for HTTP requests.\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Usage](#usage)\n- [API Endpoints](#api-endpoints)\n- [Frontend Code](#frontend-code)\n- [Backend Code](#backend-code)\n- [License](#license)\n\n## Installation\n\n### Prerequisites\n\n- Node.js\n- MySQL\n\n### Steps\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/yourusername/invoice-generator.git\n   cd invoice-generator\n   ```\n\n2. Install backend dependencies:\n\n   ```bash\n   npm install\n   ```\n\n3. Set up the MySQL database:\n\n   - Create a database named `invoice_generator`.\n   - Create the necessary tables:\n\n   ```sql\n   CREATE TABLE clients (\n     id INT AUTO_INCREMENT PRIMARY KEY,\n     name VARCHAR(255) NOT NULL,\n     email VARCHAR(255) NOT NULL,\n     company VARCHAR(255) NOT NULL\n   );\n\n   CREATE TABLE services (\n     id INT AUTO_INCREMENT PRIMARY KEY,\n     description VARCHAR(255) NOT NULL,\n     rate DECIMAL(10, 2) NOT NULL\n   );\n\n   CREATE TABLE invoices (\n     id INT AUTO_INCREMENT PRIMARY KEY,\n     client_id INT NOT NULL,\n     date DATETIME DEFAULT CURRENT_TIMESTAMP,\n     FOREIGN KEY (client_id) REFERENCES clients(id)\n   );\n\n   CREATE TABLE invoice_items (\n     id INT AUTO_INCREMENT PRIMARY KEY,\n     invoice_id INT NOT NULL,\n     service_id INT NOT NULL,\n     quantity INT NOT NULL,\n     FOREIGN KEY (invoice_id) REFERENCES invoices(id),\n     FOREIGN KEY (service_id) REFERENCES services(id)\n   );\n   ```\n\n4. Start the backend server:\n\n   ```bash\n   node server.js\n   ```\n\n5. Open `index.html` in your browser to start the frontend.\n\n## Usage\n\n1. Open the application in your browser.\n2. Fill out the invoice form by adding services with descriptions, rates, and quantities.\n3. Submit the form to generate and download the invoice in PDF format.\n\n## API Endpoints\n\n### POST /clients\n\n- Description: Add a new client.\n- Request Body:\n\n  ```json\n  {\n    \"name\": \"Client Name\",\n    \"email\": \"client@example.com\",\n    \"company\": \"Client Company\"\n  }\n  ```\n\n- Response:\n\n  ```json\n  \"Client added\"\n  ```\n\n### POST /services\n\n- Description: Add a new service.\n- Request Body:\n\n  ```json\n  {\n    \"description\": \"Service Description\",\n    \"rate\": 100.0\n  }\n  ```\n\n- Response:\n\n  ```json\n  \"Service added\"\n  ```\n\n### POST /invoices\n\n- Description: Generate a new invoice.\n- Request Body:\n\n  FormData with fields:\n\n  - `clientId`: ID of the client.\n  - `items`: JSON string of the services including description, rate, and quantity.\n  - `logo` (optional): File upload for the company logo.\n\n- Response:\n\n  Download of the generated invoice PDF.\n\n## Frontend Code\n\n### index.html\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanasyakubu%2Finvoice-generator-pip","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanasyakubu%2Finvoice-generator-pip","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanasyakubu%2Finvoice-generator-pip/lists"}