Giter Site home page Giter Site logo

ponder's Introduction

image

PONDER

An Object Relational Mapping Tool for Deno Runtime Environment.
Ponder is available for import at: https://deno.land/x/ponder and this is our link to documentation website: https://ponder.deno.dev/

What is Ponder?

  • Ponder is a simple ORM for PostgreSQL built for Deno.
  • Create, read, update, delete tables, add/delete columns, rows, and cells.
  • 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.

Features

  • Basic CRUD functionality for interacting with your PostGRES Database including managing tables.
  • Introspect database and modify database tables through models in accordance with principles of OOP
  • Introspect your database for an object representation of your tables
  • Create model instances from your database.

Getting Started

Ponder is a third-party module available at deno.land. Simply import/export the dependency for use in your project.

import * as ponder from "https://deno.land/x/ponder/mod.ts";

Using dotenv Module from Deno

It 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.

#.env
PG_URI=YourDatabaseURI

#app
import "https://deno.land/x/dotenv/load.ts";

const PG_URI = Deno.env.get('PG_URI');  // returns YourDatabaseURI from .env file

Connect your PostgreSQL Database

Connect 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).

OPTIONAL Arguments: how many pool connections you'd like to have, true or false for Lazy Loading (recommended true).

import{ poolConnection } from'./deps.ts'

const yourVariable = ponder.poolConnection(PG_URI);

Now, using yourVariable you can access and use any of Ponder's built-in methods.

Documentation

The documentation is available here.
See docs for complete list of methods, their functionality, and how to use them.

Upcoming Features and Developments

Features currently in development include:

  • Ponder CLI coming soon!

Contributing and Issues

We are always looking to improve!
To make contributions, create a fork of the dev branch. Please be sure to utilize the Deno Typescript linter. Ensure that any changes made are reflected in the documentation. Make a pull request to the Dev branch when you have finished making your changes, note that once submitted any changes made will be covered under the MIT liscense.

  • Feel free to contact the maintainers with any questions or concerns.
  • If you come across any bugs or issues while using Ponder feel free to report by simply opening a new issue on our Github.

Built with

Deno Logo PostgreSQL Logo Typescript Logo

Contributors

- Sara Brown : GitHub LinkedIn
- Sam Goldenberg : GitHub LinkedIn
- Matt Connell :GitHub LinkedIn
- Corey McClendon-Brown : GitHub LinkedIn
- Stella Baek : GitHub LinkedIn

ponder's People

Contributors

matt-2112 avatar mcbrownc avatar sammyb1rd avatar sbrown2018 avatar stellabaek avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.