{"id":22533539,"url":"https://github.com/vectormike/glowing-memory","last_synced_at":"2025-07-15T03:40:40.433Z","repository":{"id":101868327,"uuid":"571742917","full_name":"Vectormike/glowing-memory","owner":"Vectormike","description":"Wallet Service built with Nodejs, Typescript, Knex and MySQL","archived":false,"fork":false,"pushed_at":"2023-03-23T09:35:40.000Z","size":265,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-28T05:43:09.950Z","etag":null,"topics":[],"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/Vectormike.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":"2022-11-28T19:43:55.000Z","updated_at":"2024-02-20T13:04:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"c2b99fa4-8b07-42a2-bbc1-13d1b137a673","html_url":"https://github.com/Vectormike/glowing-memory","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Vectormike/glowing-memory","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vectormike%2Fglowing-memory","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vectormike%2Fglowing-memory/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vectormike%2Fglowing-memory/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vectormike%2Fglowing-memory/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Vectormike","download_url":"https://codeload.github.com/Vectormike/glowing-memory/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vectormike%2Fglowing-memory/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265398302,"owners_count":23758469,"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":[],"created_at":"2024-12-07T09:08:38.242Z","updated_at":"2025-07-15T03:40:40.380Z","avatar_url":"https://github.com/Vectormike.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# **Wallet Service**\n\n#### **Submission Links**\n\n- Postman Documentation: [Click Here](https://documenter.getpostman.com/view/5622145/2s8YsxvBW7)\n- API Production Link: [Click here](https://victor-jonah-lendsqr-be-test.herokuapp.com/lendsqr)\n- Github Repository: [Click here](https://github.com/Vectormike/glowing-memory)\n\n---\n\n## **Major features and Implementation**\n\nThese features are limited to:\n\n- Accounts\n- Deposits\n- Transfers\n- Withdrawals\n- Transactions\n\n### **Account:**\n\nThis features also refers to the Wallet of the said user, which holds user information and available balance.\n\n### **Deposit:**\n\nWith this, the user is able to deposit/fund their account which the value will be reflected in the available balance.\n\n### **Transfer:**\n\nThis makes an authorized user to be able to move monetary alue from its accounts to another user.\n\n### **Withdrawal Feature:**\n\nSince we have the monetary value stored in an account, the user can decided to withdraw to a physical bank account.\n\n## Database Schema\n\nThe image below is an full representation of the database schema.\n\n![Database Schema](dbdiagram.png)\n\n### API Endpoints\n\nList of available routes:\n\n**Auth routes**:\\\n`POST /api/auth/register` - register\\\n`POST /api/auth/login` - login\\\n\n**Account routes**:\\\n`POST /api/account/deposit` - fund\\\n`POST /api/account/transfer` - transfer\\\n`POST /api/account/withdraw` - withdraw\\\n\n## Environment Variables\n\nThe environment variables can be found and modified in the `.env` file. They come with these default values:\n\n```bash\n# Port number\nNODE_ENV=development\nPORT=8000\nACCESSTOKENEXPIRESMINUTES=1500\nREFRESHTOKENEXPIRESDAYS=1\nJWT_AUTH_SECRET=bananpieisasweetpie\nDB_NAME=lendsqr\nDB_USER=root\nDB_PASSWORD=root\nDB_HOST=localhost\nDB_PORT=8889\nDB_DIALECT=mysql\nPAYSTACK_SECRET_KEY=\nPAYSTACK_PUBLIC_KEY=\n```\n\n## Project Structure\n\n```\nsrc\\\n |--config\\         # Environment variables and configuration related things\n |--controllers\\    # Route controllers (controller layer)\n |--middlewares\\    # Custom express middlewares\n |--models\\         # Mongoose models (data layer)\n |--routes\\         # Routes\n |--services\\       # Business logic (service layer)\n |--utilities\\          # Utility classes and functions\n |--validations\\    # Request data validation schemas\n |--interfaces\\      # Interfaces\n |--server.ts       # App entry point\n |--knexfile.ts      # Knex config environment\n\n```\n\n## Commands\n\nRunning locally:\n\n```bash\nnpm run dev\n```\n\nBuild:\n\n```bash\nnpm run build\n```\n\nRunning in production:\n\n```bash\nnpm start\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvectormike%2Fglowing-memory","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvectormike%2Fglowing-memory","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvectormike%2Fglowing-memory/lists"}