{"id":15175418,"url":"https://github.com/dz1kill/backand_invoice_ecxel","last_synced_at":"2026-02-03T09:03:21.912Z","repository":{"id":255185961,"uuid":"848771419","full_name":"dz1kill/backand_invoice_ecxel","owner":"dz1kill","description":"Report generation service. Divided into 2 microservices web-api and worker-excel.","archived":false,"fork":false,"pushed_at":"2024-08-28T12:27:29.000Z","size":225,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-12T13:27:15.637Z","etag":null,"topics":["backend","express","invoice-generator","microservices","nestjs","nodejs","postgresql","queue"],"latest_commit_sha":null,"homepage":"","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/dz1kill.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-08-28T11:32:38.000Z","updated_at":"2024-08-28T12:29:14.000Z","dependencies_parsed_at":"2024-08-28T13:51:27.277Z","dependency_job_id":"03db3c93-0a72-44b4-8180-3934fd192be5","html_url":"https://github.com/dz1kill/backand_invoice_ecxel","commit_stats":null,"previous_names":["dz1ki/backand_invoice_ecxel","dz1kill/backand_invoice_ecxel"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dz1kill/backand_invoice_ecxel","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dz1kill%2Fbackand_invoice_ecxel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dz1kill%2Fbackand_invoice_ecxel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dz1kill%2Fbackand_invoice_ecxel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dz1kill%2Fbackand_invoice_ecxel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dz1kill","download_url":"https://codeload.github.com/dz1kill/backand_invoice_ecxel/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dz1kill%2Fbackand_invoice_ecxel/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29039341,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-03T08:41:49.363Z","status":"ssl_error","status_checked_at":"2026-02-03T08:40:19.255Z","response_time":96,"last_error":"SSL_read: 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":["backend","express","invoice-generator","microservices","nestjs","nodejs","postgresql","queue"],"created_at":"2024-09-27T12:23:53.795Z","updated_at":"2026-02-03T09:03:21.890Z","avatar_url":"https://github.com/dz1kill.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Description\n\nReport generation service. Divided into 2 microservices web-api and worker-excel.  \nWeb-api receives data, stores and sends data for generation. Worker-excel is responsible  \nfor generating and saving the file in the cloud. Communication via queues and Http requests.  \nUser data, links to documents, and the state are stored in the web-api microservice database.  \nsetTimeout() for 20 seconds has been added to the file generation function for clarity of work.  \nUsing the generateInvoice route, we send a request to generate a document. At the same time,  \nwe create the document state. Using the invoices route, we check the state of our document:  \n\"loading\", \"processing\", \"complete\" when the document is ready, together with the state there  \nwill be a link to the document. The document itself is stored in the cloud.\n\n1. Platform for creating a service - Node.js.\n2. Framework - NestJS and express.\n3. ORM - sequelize typescript.\n4. PostgreSQL as database server.\n5. bullMQ is used for queues.\n6. Swagger documentation.\n7. To create images and organize work with Redis, PostgreSQL uses Docker-compose.\n\n## Running the app\n\n```bash\n\n# you need to add a local.json file with passwords to the web-api/config and worker-excel/config folders.\n\n# In the new terminal go to the web-api directory.\n$ cd web-api\n\n# In the console, run the build and launch images with the command:\n$ docker-compose up\n\n# Install dependencies.\n$ npm install\n\n# Create tables in the database using the \"migrations\" command:\n$ npm run migrate:run\n\n# Fill in the tables with the data \"seeders\" with the command:\n$ npm run seed:run\n\n# Start the server\n$ npm run start\n\n# In the new terminal go to the worker-pdf directory.\n$ cd worker-excel\n\n# Install dependencies.\n$ npm install\n\n# Run worker-excel microservice.\n$ npm run start\n\n```\n\n## Test\n\nDocumentation (Swagger UI) is available at: [link] http://localhost:3000/api-docs/\n\nnode v20.13.1\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdz1kill%2Fbackand_invoice_ecxel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdz1kill%2Fbackand_invoice_ecxel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdz1kill%2Fbackand_invoice_ecxel/lists"}