{"id":28401587,"url":"https://github.com/internpulse/pos-padi-express-backend","last_synced_at":"2026-04-11T14:33:21.852Z","repository":{"id":287253436,"uuid":"963904064","full_name":"InternPulse/pos-padi-express-backend","owner":"InternPulse","description":"Express Backend API for POS Padi, POS-Padi is a robust API to help POS agents and business owners efficiently manage their operations. The platform addresses issues such as fraud, transaction disputes, and cash shortages by offering real-time insights, financial tools, and smart alerts.","archived":false,"fork":false,"pushed_at":"2025-05-12T19:52:54.000Z","size":18072,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"dev","last_synced_at":"2025-06-01T20:54:00.126Z","etag":null,"topics":["api","express","express-middleware","expressjs","fintech","fintech-api","jest","mysql","nodejs","otp-verification","pos","prisma","typescript"],"latest_commit_sha":null,"homepage":"https://documenter.getpostman.com/view/43614350/2sB2ixjZkQ#98477155-68ee-41d1-b8b0-7babb146d728","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/InternPulse.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-04-10T11:45:07.000Z","updated_at":"2025-05-12T19:52:37.000Z","dependencies_parsed_at":"2025-04-27T20:37:08.510Z","dependency_job_id":null,"html_url":"https://github.com/InternPulse/pos-padi-express-backend","commit_stats":null,"previous_names":["internpulse/pos-padi-express-backend"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/InternPulse/pos-padi-express-backend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InternPulse%2Fpos-padi-express-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InternPulse%2Fpos-padi-express-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InternPulse%2Fpos-padi-express-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InternPulse%2Fpos-padi-express-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/InternPulse","download_url":"https://codeload.github.com/InternPulse/pos-padi-express-backend/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InternPulse%2Fpos-padi-express-backend/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262492658,"owners_count":23319712,"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":["api","express","express-middleware","expressjs","fintech","fintech-api","jest","mysql","nodejs","otp-verification","pos","prisma","typescript"],"created_at":"2025-06-01T13:00:23.685Z","updated_at":"2025-12-30T22:51:35.355Z","avatar_url":"https://github.com/InternPulse.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# POS Padi Express Backend\n\nA robust backend service for managing POS operations, built with Node.js, TypeScript, and Prisma.\n\n## 🚀 Project Overview\n\nPOS Padi Express provides a secure and scalable API for handling core features related to transactions, disputes, and notifications within a POS (Point of Sale) ecosystem.\n\n### Key features include:\n- Transaction creation, listing, and per-agent analytics\n- Dispute management (create, view, update, delete, statistics)\n- Notification system with read tracking\n\n## 🛠️ Tech Stack\n\n- **Node.js**\n- **TypeScript**\n- **Express.js**\n- **Prisma ORM**\n- **MySQL**\n- **Jest** (for testing)\n\n\n## 📦 Getting Started\n\n### Prerequisites\n\n- Node.js ≥ 16.x\n- npm or yarn\n- MySQL\n- [Prisma CLI](https://www.prisma.io/docs/reference/api-reference/command-reference)\n\n\n## Installation Instructions\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/InternPulse/pos-padi-express-backend.git\n```\n\n2. Change into the parent directory:\n\n```bash\ncd pos-padi-express-backend\n```\n\n3. Set appropriate values for the following Compulsory Environment Variables:\n\n```txt\n# Postgres connection string\nDATABASE_URL=\"\"\n# Secret key for signing JWTs\nJWT_SECRET_KEY=\n# API Port\nPORT=5000\n```\n\n4. Install the App dependencies:\n\n```bash\nnpm install\n```\n\n5. Generate Prisma client and apply migrations:\n\n```bash\nnpx prisma generate\nnpx prisma migrate deploy\n```\n\n6. Start the App:\n\n```bash\nnpm run dev\n```\n\nThe API should now be running locally at [http://localhost:5000/](http://localhost:5000/)\n\n## 📄 API Documentation\nYou can explore and test the endpoints via the live Postman documentation:\n\n🔗 [View Postman Collection](https://documenter.getpostman.com/view/43614350/2sB2ixjZkQ)\n\n##  🔌 Available Endpoints\nHere's an overview of available routes:\n\n### 📁 Disputes\n```\nGET /api/v1/disputes – List all disputes\n\nGET /api/v1/disputes/:id – Get a single dispute by ID\n\nPOST /api/v1/disputes – Create a new dispute\n\nPUT /api/v1/disputes/:id – Update a dispute\n\nDELETE /api/v1/disputes/:id – Delete a dispute\n\nGET /api/v1/disputes/stats – Get dispute statistics\n```\n### 🔔 Notifications\n```\nPOST /api/v1/notifications – Create a new notification\n\nGET /api/v1/notifications – Get all notifications (with query filters)\n\nGET /api/v1/notifications/:id – Get a single notification by ID\n\nPATCH /api/v1/notifications/:id/read – Mark a notification as read\n```\n\n### 💳 Transactions\n```\nPOST /api/v1/transactions – Create a new transaction\n\nGET /api/v1/transactions – List all transactions\n\nGET /api/v1/transactions/:id – Get a transaction by ID\n\nPUT /api/v1/transactions/:id – Update a transaction\n\nDELETE /api/v1/transactions/:id – Delete a transaction\n\nGET /api/v1/transactions/stats – Get overall transaction statistics\n\nGET /api/v1/transactions/agent/:agent_id/stats – Get transaction stats for a specific agent\n```\n#### (More endpoints available in the Postman Docs)\n\n## 🧪 Running Tests\n```npm test```\n\n## 🧑‍💻 Contributing\n\n- Fork the repo\n- Create your branch (git checkout -b feat/feature-name)\n- Commit your changes\n- Push and open a Pull Request\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finternpulse%2Fpos-padi-express-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finternpulse%2Fpos-padi-express-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finternpulse%2Fpos-padi-express-backend/lists"}