{"id":26267379,"url":"https://github.com/oslabs-beta/ponder","last_synced_at":"2026-02-25T18:05:39.277Z","repository":{"id":64273610,"uuid":"573605941","full_name":"oslabs-beta/Ponder","owner":"oslabs-beta","description":"Simple ORM for PostGRES","archived":false,"fork":false,"pushed_at":"2023-01-05T18:21:00.000Z","size":7865,"stargazers_count":82,"open_issues_count":0,"forks_count":5,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-30T19:07:24.348Z","etag":null,"topics":["deno","orm","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oslabs-beta.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.MIT","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-12-02T21:59:15.000Z","updated_at":"2025-03-23T19:14:53.000Z","dependencies_parsed_at":"2023-01-15T07:46:06.264Z","dependency_job_id":null,"html_url":"https://github.com/oslabs-beta/Ponder","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2FPonder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2FPonder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2FPonder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2FPonder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oslabs-beta","download_url":"https://codeload.github.com/oslabs-beta/Ponder/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251767187,"owners_count":21640469,"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":["deno","orm","typescript"],"created_at":"2025-03-14T04:16:39.987Z","updated_at":"2026-02-25T18:05:39.248Z","avatar_url":"https://github.com/oslabs-beta.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![image](./assets/small-ponder.png)\n\n\n# PONDER\n**An Object Relational Mapping Tool for Deno Runtime Environment.** \u003cbr\u003e\nPonder is available for import at: https://deno.land/x/ponder and this is our link to documentation website: https://ponder.deno.dev/\n\n\u003e ## What is Ponder?\n\n* Ponder is a simple ORM for PostgreSQL built for Deno. \n* Create, read, update, delete tables, add/delete columns, rows, and cells. \n* Writing raw SQL is cumbersome and time consuming for developers. Ponder seeks to address this by providing simple, intuitive methods for manipulating data and tables in your database along Object Oriented Programming principles. \n\n## Features\n\n- Basic CRUD functionality for interacting with your PostGRES Database including managing tables.\u003cbr\u003e\n- Introspect database and modify database tables through models in accordance with principles of OOP \u003cbr\u003e\n- Introspect your database for an object representation of your tables \u003cbr\u003e\n- Create model instances from your database.\n\u003cbr\u003e\u003cbr\u003e\n## Getting Started\n\u003ca href=\"https://deno.land/x/ponder\"\u003e Ponder \u003c/a\u003e is a third-party module available at deno.land. Simply import/export the dependency for use in your project.\n\n```typescript\nimport * as ponder from \"https://deno.land/x/ponder/mod.ts\";\n```\n\n### Using dotenv Module from Deno\n\nIt is recommended to use the dotenv module from Deno to protect sensitive information. Import the dotenv module, write your Database URI as a variable in your own .env file, and then you can refer to it using that variable label.\n\n```typescript\n#.env\nPG_URI=YourDatabaseURI\n\n#app\nimport \"https://deno.land/x/dotenv/load.ts\";\n\nconst PG_URI = Deno.env.get('PG_URI');  // returns YourDatabaseURI from .env file\n\n```\n\n### Connect your PostgreSQL Database\nConnect your existing PostGRES Database using the built-in method called poolConnection. Ponder uses a pool connection which is strongly recommended by PostGRES for use in their databases. Simply insert your database URI (or insert from a dotenv file). \u003cbr\u003e\u003cbr\u003e\n*OPTIONAL Arguments: how many pool connections you'd like to have, true or false for Lazy Loading (recommended true).*\n\n```typescript\nimport{ poolConnection } from'./deps.ts'\n\nconst yourVariable = ponder.poolConnection(PG_URI);\n```\n\nNow, using `yourVariable` you can access and use any of Ponder's built-in methods.\n\n\n## Documentation\n\nThe documentation is available \u003ca href=\"https://ponder.deno.dev/docsfolder/docshome\"\u003ehere\u003c/a\u003e. \u003cbr\u003e\nSee docs for complete list of methods, their functionality, and how to use them.\n\n## Upcoming Features and Developments\nFeatures currently in development include:\n- Ponder CLI coming soon!\n\n\n## Contributing and Issues\nWe are always looking to improve! \u003cbr\u003e\nTo make contributions, create a fork of the dev branch. Please be sure to utilize the Deno Typescript linter. \nEnsure that any changes made are reflected in the documentation. Make a pull request to the Dev branch when \nyou have finished making your changes, note that once submitted any changes made will be covered under the MIT liscense. \u003cbr\u003e\n* Feel free to contact the maintainers with any questions or concerns. \u003cbr\u003e\n* If you come across any bugs or issues while using Ponder feel free to report by simply opening a new issue on our Github.\n\n## Built with\n\n\u003cp float=\"left\"\u003e\n\n\u003ca href=\"https://deno.land/\"\u003e\u003cimg src=\"https://img.shields.io/badge/Deno-white?style=for-the-badge\u0026logo=deno\u0026logoColor=464647\" alt=\"Deno Logo\" style=\"display: inline-block\"\u003e\u003c/a\u003e\n\u003ca href=\"https://www.postgresql.org/\"\u003e\u003cimg src=\"https://img.shields.io/badge/PostgreSQL-316192?style=for-the-badge\u0026logo=postgresql\u0026logoColor=white\" alt=\"PostgreSQL Logo\" style=\"display: inline-block\"\u003e\u003c/a\u003e\n\u003ca href=\"https://www.typescriptlang.org/\"\u003e\u003cimg src=\"https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge\u0026logo=typescript\u0026logoColor=white\" alt=\"Typescript Logo\" style=\"display: inline-block\"\u003e\u003c/a\u003e\n\n\u003c/p\u003e\n\n## Contributors\n\u003cp\u003e\n- Sara Brown : \u003ca href=\"https://github.com/Sbrown2018\" target=\"_blank\"\u003e\u003cimg alt=\"GitHub\" src=\"https://img.shields.io/badge/-@Sara-181717?style=flat-square\u0026logo=GitHub\u0026logoColor=white\"\u003e\u003c/a\u003e \u003ca href=\"https://www.linkedin.com/in/sara-brown15/\" target=\"_blank\"\u003e \u003cimg alt=\"LinkedIn\" src=\"https://img.shields.io/badge/-LinkedIn-0077B5?style=flat-square\u0026logo=Linkedin\u0026logoColor=white\"\u003e\u003c/a\u003e \u003cbr\u003e \n- Sam Goldenberg : \u003ca href=\"https://github.com/sammyb1rd\" target=\"_blank\"\u003e\u003cimg alt=\"GitHub\" src=\"https://img.shields.io/badge/-@Sam-181717?style=flat-square\u0026logo=GitHub\u0026logoColor=white\"\u003e\u003c/a\u003e \u003ca href=\"https://www.linkedin.com/in/samuel-goldenberg/\" target=\"_blank\"\u003e \u003cimg alt=\"LinkedIn\" src=\"https://img.shields.io/badge/-LinkedIn-0077B5?style=flat-square\u0026logo=Linkedin\u0026logoColor=white\"\u003e\u003c/a\u003e \u003cbr\u003e\n- Matt Connell :\u003ca href=\"https://github.com/Matt-2112\" target=\"_blank\"\u003e\u003cimg alt=\"GitHub\" src=\"https://img.shields.io/badge/-@Matt-181717?style=flat-square\u0026logo=GitHub\u0026logoColor=white\"\u003e\u003c/a\u003e \u003ca href=\"https://www.linkedin.com/in/matt-connell-/\" target=\"_blank\"\u003e \u003cimg alt=\"LinkedIn\" src=\"https://img.shields.io/badge/-LinkedIn-0077B5?style=flat-square\u0026logo=Linkedin\u0026logoColor=white\"\u003e\u003c/a\u003e \u003cbr\u003e\n- Corey McClendon-Brown : \u003ca href=\"https://github.com/mcbrownc\" target=\"_blank\"\u003e\u003cimg alt=\"GitHub\" src=\"https://img.shields.io/badge/-@Corey-181717?style=flat-square\u0026logo=GitHub\u0026logoColor=white\"\u003e\u003c/a\u003e \u003ca href=\"https://www.linkedin.com/in/coreymcclendonbrown/\" target=\"_blank\"\u003e \u003cimg alt=\"LinkedIn\" src=\"https://img.shields.io/badge/-LinkedIn-0077B5?style=flat-square\u0026logo=Linkedin\u0026logoColor=white\"\u003e\u003c/a\u003e \u003cbr\u003e\n- Stella Baek : \u003ca href=\"https://github.com/StellaBaek\" target=\"_blank\"\u003e\u003cimg alt=\"GitHub\" src=\"https://img.shields.io/badge/-@Stella-181717?style=flat-square\u0026logo=GitHub\u0026logoColor=white\"\u003e \u003c/a\u003e \u003ca href=\"https://www.linkedin.com/in/stellabaek\" target=\"_blank\"\u003e \u003cimg alt=\"LinkedIn\" src=\"https://img.shields.io/badge/-LinkedIn-0077B5?style=flat-square\u0026logo=Linkedin\u0026logoColor=white\"\u003e\u003c/a\u003e \n  \n\u003c/p\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foslabs-beta%2Fponder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foslabs-beta%2Fponder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foslabs-beta%2Fponder/lists"}