Skelpo User Manager

Vapor

In almost every project that we have worked on in the last few years we had to deal with some kind of user system. Most of these user systems operate nearly identically. The most common functions are:

  • Login
  • Verify the email address
  • Registration with email and password
  • Save information about the user (first name, last name etc.)
  • Use user in other application parts, like an order-system.
Additionally we also needed the following features:
  • Multi-lang, most our projects need more than one language
  • Micro-Service suitable
  • Docker deployable
  • Lightweight, nothing more than basic user management

During the last 12 months we have developed our own user manager to create a solution once that we can easily re-use in every application. Since most of what we do is using a micro-service architecture we wrote it as a micro-service that can run as a self-contained part of a bigger application.

We used Swift and the Vapor framework since it is the best available technology for server-side development (in our opinion 😃). The first version of the user manager was written using Vapor 2 and is currently used in various projects that are running in production. As soon as Vapor 3 was in beta we started porting things over to take advantage of the performance increase of Vapor 3.

We have now completely the user manager in a first version and offer it to the public as an open source project. Our final product has all the above described features. Our approach with the user information was to put everything in “attributes”. A user can have as many attributes as required, each of them saving a text value.
Note: It is not the purpose of this service to save everything a user profile contains. This service could or should be complimented with a customer service or a profile service in order for it to run well in an application.

That being said, the user manager is everything you need to have a basis for user management without having to rely on third party vendors and with the option of customizing everything.

Where can I see this?
Right here on Github, there you will also find an extensive documentation.

What kinds of application need a service like this one?
Any application that uses a micro-service architecture and wants to be able to scale quickly without having to worry much about dependencies. We have written multiple apps and websites using such architectures with great success. If you are interested in learning more about this please email us.

Comments

Info@skelpo.com

Shoot us an email, we’ll find a way to be helpful.

No pressure. Really.