Socket
Socket
Sign inDemoInstall

abase

Package Overview
Dependencies
0
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    abase

A simple service to help people manage their personal data in your app.


Version published
Weekly downloads
0
decreased by-100%
Maintainers
1
Install size
3.49 kB
Created
Weekly downloads
 

Readme

Source

abase ("a Base")

A Base for building reliable web apps quickly.

Why?

Keeping people's (personal) data safe is essential in every web application that requires personalisation. Yet writing the code to help people manage their own data can be quite tedious and usually is not the "core competence" of most web apps.

We found that we had built/re-built the "user" registration/verification/login, "manage my profile/preferences" and permissions/roles "workflow" enough times that it was time to make something generic & re-useable.

You can pay a 3rd Party "Auth"-as-a-Service Provider and have them manage your ("user") data on a server you have no control over and pay them for each registration/login event ... for some companies this is a good option because they don't have to think about where the data is stored, however we prefer to know exactly where data is stored, how it's encrypted and who can access it.˜

What?

Distinguishing/Differntiating Features

  • A Secure way of storing people's personal data.
  • Plain English Access controls
  • Mobile First/Optimised (Responsive) UI (view/edit data on any device)
  • Server-side Rendered (for speed) with client-side (progressive) enhancement (for user experience)

Who?

Who Should Use This?

Anyone building a web app (where the experience is personalised) and wants to know where/how data is stored and thus ensure that customer data is not being miss-managed or sold (which we think wrong).

How?

Requirements

  • Simple UI/UX for people to
    • register
    • login
    • verify (their email)
    • re-set password
    • view/update any other personal details once logged in
  • REST API Endpoint for all actions (when content-type is not set to text/html)
  • HTML Responses for all endpoints that request content-type



tl;dr

Why Build a New Tool/Service?

There are many platforms for "User" (people) authentication and personal data storage/management, why build another one?

Simple: to incorporate the all the best ideas/practices we like and have an extensible (plugin-based) platform anyone can add to/build upon.

Why PostgreSQL?

While there is a lot of hype surrounding NoSQL Databases like MongoDB & Redis, we found we were having to write a lot of code to do useful queries. And while de-normalising data might "make sense" for "scalability" in theory, what we found in practice is that even with 100 Billion Records (way more users than 99.99% of companies/startups!) a well-managed PostgreSQL cluster copes very well.

Make up your own mind: https://www.postgresql.org/about
If you're still Curious or Worried about scaling PostgreSQL? see: https://www.citusdata.com Want to model the network of people as a graph? https://github.com/cayleygraph/cayley

FAQs

Last updated on 21 Sep 2016

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc