{"id":29981993,"url":"https://github.com/s-satyajit/payflow","last_synced_at":"2026-04-14T10:32:48.042Z","repository":{"id":304123786,"uuid":"1015140371","full_name":"s-satyajit/payflow","owner":"s-satyajit","description":"A mern stack app with jwt auth protected rest apis for user auth, account linking, and transactional operations, built with node.js on server and react.js on client","archived":false,"fork":false,"pushed_at":"2025-12-12T14:14:34.000Z","size":111,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-10T23:52:26.160Z","etag":null,"topics":["express","mern-stack","mongodb","mongoose","nodejs","payment-app","react","rest-api","zod"],"latest_commit_sha":null,"homepage":"https://payflow-zeta.vercel.app/","language":"JavaScript","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/s-satyajit.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-07-07T04:20:08.000Z","updated_at":"2025-12-12T14:14:38.000Z","dependencies_parsed_at":"2025-08-04T17:48:19.565Z","dependency_job_id":null,"html_url":"https://github.com/s-satyajit/payflow","commit_stats":null,"previous_names":["s-satyajit/payflow"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/s-satyajit/payflow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/s-satyajit%2Fpayflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/s-satyajit%2Fpayflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/s-satyajit%2Fpayflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/s-satyajit%2Fpayflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/s-satyajit","download_url":"https://codeload.github.com/s-satyajit/payflow/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/s-satyajit%2Fpayflow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31793213,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T02:24:21.117Z","status":"ssl_error","status_checked_at":"2026-04-14T02:24:20.627Z","response_time":153,"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":["express","mern-stack","mongodb","mongoose","nodejs","payment-app","react","rest-api","zod"],"created_at":"2025-08-04T17:36:32.656Z","updated_at":"2026-04-14T10:32:48.019Z","avatar_url":"https://github.com/s-satyajit.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PayFlow\n\n**Full‑Stack Payment Application**\n\nPayFlow is a MERN‑stack web application that allows users to create accounts, link bank details, transfer funds, search for accounts, and view transaction history. Built with React (Vite), Node.js, Express, and MongoDB Atlas, deployed on Vercel.\n\n---\n\n## 📦 Features\n\n* **User Authentication**: Sign up \u0026 Sign in with JWT-based sessions\n* **Account Management**: Create and view multiple bank accounts\n* **Fund Transfers**: Secure, atomic transactions between accounts\n* **Search**: Lookup accounts by number, IFSC, or user name\n* **Transaction History**: View, filter, and export transaction records\n* **Dashboard**: Consolidated user profile, balances, and recent activity\n\n---\n\n## 🚀 Quick Start\n\n1. **Clone the repo**\n\n   ```bash\n   git clone https://github.com/s-satyajit/payflow.git\n   cd payflow\n   ```\n\n2. **Setup environment**\n\n   * **Backend** (`server/`):\n\n     ```bash\n     cd server\n     npm install\n     ```\n\n     Create `server/src/.env`:\n\n     ```env\n     MONGO_URI=\u003cbuild-your-MongoDB-Atlas-URI\u003e\n     JWT_SECRET=\u003cwrite-your-JWT-secret\u003e\n     ```\n\n   * **Frontend** (`client/`):\n\n     ```bash\n     cd ../client\n     npm install\n     ```\n\n     Create `client/.env`:\n\n     ```env\n     VITE_API_URL=\u003cbuild-your-backend-api\u003e/api/v1\n     ```\n\n3. **Local Development**\n\n   * Start backend:\n\n     ```bash\n     cd server\n     npm run dev\n     ```\n   * Start frontend:\n\n     ```bash\n     cd ../client\n     npm run dev\n     ```\n\nOpen [http://localhost:3000](http://localhost:3000) (or Vite’s port) in your browser.\n\n---\n\n## 📖 API Reference\n\n*Base URL: `\u003cbuild-your-api\u003e/api/v1`* \u003cbr\u003e\n\u003cbr\u003e\nAll routes `(except /auth/*)` are protected and require the `Authorization: Bearer \u003ctoken\u003e` header.\n\n### Auth\n\n| Method | Endpoint       | Body                                                        | Description               |\n| ------ | -------------- | ----------------------------------------------------------- | ------------------------- |\n| POST   | `/auth/signup` | `{ username, firstname, lastname, email, password, phone }` | Register new user         |\n| POST   | `/auth/signin` | `{ email, password }`                                  | Login (email or username) |\n\n### Account\n\n| Method | Endpoint             | Query/Body                                | Description               |\n| ------ | -------------------- | ----------------------------------------- | ------------------------- |\n| GET    | `/account/create-account`           | `{accountNumber, ifsc, bankName}`                                | Create an account    |\n| GET    | `/account/search-accounts?q=` | (query) accountNumber, IFSC, or user name | Search accounts           |\n| POST   | `/account/get-account`| `{ accountNumber }`       | Get account details |\n\n### Transaction\n\n| Method | Endpoint                | Body                                                                       | Description                      |\n| ------ | ----------------------- | -------------------------------------------------------------------------- | -------------------------------- |\n| POST   | `/transaction/transfer-funds` | `{ id, toAccountNumber, ifsc, firstname, lastname, amount, description? }` | Transfer funds between accounts  |\n| POST   | `/transaction/transactions`     | `{ userId }`                                                               | List all transactions for a user |\n\n### User\n\n| Method | Endpoint          | Body / Protected | Description                          |\n| ------ | ----------------- | ---------------- | ------------------------------------ |\n| GET    | `/user/user/me`   | Protected        | Get current user profile             |\n\n---\n\n## You can connect with me via\n\nEmail: satyajitsamal.workmail@gmail.com \u003cbr\u003e\nLinkedIn: https://linkedin.com/in/satyajitsamal \u003cbr\u003e\nX: https://x.com/satyajitstwt \u003cbr\u003e\nGitHub: https://github.com/s-satyajit \u003cbr\u003e\nPortfolio: https://satyajitsamal.vercel.app\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fs-satyajit%2Fpayflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fs-satyajit%2Fpayflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fs-satyajit%2Fpayflow/lists"}