User Profiles Module for Angular and Firebase Released

Posted by:

While they’re never exciting to code, it’s a fact that most non-trivial web applications need a user profile management module.

And today, that usually entails implementing OAuth authentication from at least one of the big social networks, since users increasingly choose to place trust with their identity in Facebook over some random website.

Anyone who has plumbed the depths of an OAuth implementation can tell you that it’s no fun. So when we created such a system for an application we’re building, it seemed only logical to open source the profile management module, in hopes of saving someone a week or more of drudgery.

The module is built on Angular 1.x, Bootstrap, and Firebase. It has a mobile-friendly design, and supports authentication by password as well as social sign-in from Google+, Facebook, Twitter, and GitHub.

We’re standing on the shoulders of giants here, because Firebase has made the OAuth support a breeze. It was only up to us to build the system for adding, updating, and deleting profiles, with the data being stored in a Firebase database. In case you haven’t heard about Firebase yet, they’re a Google company whose product is a blazing-fast, queryable, JSON database with a powerful rules-based security model and flexible user authentication options. They also offer site hosting from a fast CDN.

If you’re building on Angular and Firebase, or just want to give Firebase a test drive, check out User Profiles demo and download the code from GitHub today. It’s Open Source, available via the BSD 3-Clause License.


About the Author:

Since the early ’80s, my consuming passion has been programming. Today I work as a Software Architect, bringing more than 30 years of industry experience to bear on every task. My career has run the gamut from writing games in machine language for Commodore 64 and Apple II to implementation of large scale, object-oriented, enterprise applications. In my spare time, I am an author and occasional music producer.