npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

my613-api

v0.1.0

Published

my613-api

Downloads

7

Readme

my613-api

my613-api is a multi-tenant, hosted GraphQL database solution converts a JSON based schema into a GraphQL API in addition to creating a database storage (MongoDB or RethinkDB) underneath.

GraphQL API is fully Relay compatible and contains CRUD operations as entry points.

Input is Relay-aware and declarative.

Additionally, my613-api provides Social Login with 5 providers (Auth0, Facebook, Google, Twitter and Github).

Functionality of my613-api can be extended by configuring hooks that call external web services.

It also provides a rich permission system based on defining graph paths to the user type.

my613-api was designed with scalability in mind, but so far doesn't have many possible performance improving tools, like e.g. cache or query optimizations.

Components

  • schema creator ----------> gets list of types and creates db independent GraphQL API
  • database connector ------> abstracts out RethinkDB and MongoDB specifics
  • database migration tool -> abstracts out changes to the database after schema is updated
  • permission checker ------> checks permissions based on graph path traversal
  • multi-tenancy module ----> gets the api of correct user and manages apps
  • social login ------------> manages third-party auth service integration
  • http server -------------> manages request and JWT request authentication

Installation

  • Install MongoDB and optionally RethinkDB

  • Install dependencies

    npm install
  • Run tests

    npm test
  • Create admin app

    npm run create-admin-app admin.localhost.planeight.com
  • Create a test app (localhost)

    npm run create-app
  • Run server

    npm start
  • You can login into GraphiQL by passing the admin token in the token query string argument:

    http://localhost:5000/?token=<YOUR_TOKEN>