Keenmate

docker-compose-templates

Repository

https://github.com/bliss-framework/docker-compose-templates

Description

A list of ready to use docker-compose templates for quick deployment on your machine.

Technologies used

  • Docker
  • Docker Compose

ecto-gen

Repository

https://github.com/KeenMate/ecto-gen

Description

Our databases are heavily built around stored procedures. If God didn't want us to use them, we wouldn't have them, so no ORM SQL generation for us, thank you very much.

Ecto-gen helps us exactly with that. It's a tool written in Elixir and meant to be used with Elixir. It generates database calls to stored procedures, their mappings, models, and so on. When the code is generated, all you have to do is call DbContext.yourMethodAbc() and it does everything else for you.

This tool is now deprecated and we created the more general Go-based db-gen.

Technologies used

  • Elixir

db-gen

Repository

https://github.com/keenmate/db-gen

Description

db-gen is a language-agnostic database function calls code generator for enterprise use. The main premise was to create a tool that will last for years. It sits in your repository with the rest of your code and is completely independent of everything else. You can be sure that today, next week, or next decade, it will work the same and generate the same code.

All its behavior is defined by you and stored with your code, from configuration to templates.

Technologies used

  • Go
  • PostgreSQL

svelte-adminlte

Repository

https://github.com/KeenMate/svelte-adminlte

Description

Svelte.dev components framework based on AdminLTE. Most of the components for "daily use" are ready to use. We have multiple sites built on this framework.

Technologies used

  • Svelte.dev
  • AdminLTE

svelte-fluentui

Repository

https://github.com/KeenMate/svelte-fluentui

Description

A comprehensive Svelte wrapper library for Microsoft FluentUI web components (v2.6.x), providing a seamless way to use FluentUI components in Svelte applications. The library offers complete TypeScript support, responsive design, and Svelte 5 compatibility with a wide range of components for form controls, data display, navigation, layout, and feedback.

Technologies used

  • Svelte.dev
  • Microsoft FluentUI Web Components
  • TypeScript
  • SCSS
  • Tailwind CSS

svelte-multiselect

Repository

https://github.com/KeenMate/svelte-multiselect

Description

Implementation of [vue-multiselect] in Svelte.dev. Although Vue.js and Svelte.dev are quite similar and compatible, some bits and pieces are different from the original vue-multiselect. The usability is the same, though.

Technologies used

  • Svelte.dev
  • vue-multiselect

svelte-switch

Repository

https://github.com/KeenMate/svelte-switch

Demo

https://svelte-switch.demo.keenmate.com

Description

A highly customizable switch/toggle component for Svelte applications. Features smooth animations, multiple styling options, and full accessibility support.

Technologies used

  • Svelte.dev
  • TypeScript
  • CSS3

svelte-treeview

Repository

https://github.com/KeenMate/svelte-treeview

Description

Svelte.dev implementation of TreeView with checkboxes, multi-selection, drag & drop, and everything else. The implementation is CSS framework agnostic, so you can style it as you want.

Technologies used

  • Svelte.dev

web-treeview

Repository

https://github.com/KeenMate/web-treeview

Description

A framework-agnostic web component library for TreeView (hierarchical tree navigation) that works with React, Vue, Angular, or vanilla JavaScript. Features include full-text search with FlexSearch integration, drag and drop support, customizable node templates, responsive design with touch support, virtual scrolling for large datasets, and full TypeScript support.

Technologies used

  • Web Components
  • TypeScript
  • FlexSearch
  • Virtual Scrolling

keen-auth

Repository

https://github.com/KeenMate/keen_auth

Description

The keen-auth Elixir plug is our answer to Pow Auth. This library offers full-blown authentication and identity management, which at first looked like a great choice, but after a while felt too heavy.

Our approach is much simpler. After a user is authenticated, the user data goes through three simple steps: mapper/processor/storage, and that's it. Everything else is up to your project.

Technologies used

  • Elixir
  • Phoenix
  • OAuth
  • Assent strategies for every possible authentication provider

keen-auth-permissions

Repository

https://github.com/KeenMate/keen-auth-permissions

Description

keen-auth-permissions is an extension of keen-auth that is configured to work with our database model postgresql-permissions-model. It offers ready-to-use functions that call the database functions.

Technologies used

  • Elixir
  • Phoenix
  • PostgreSQL

postgres-permissions-model

Repository

https://github.com/KeenMate/postgresql-permissions-model

Description

This model for PostgreSQL is basically a series of tables, views, and database functions. It is built with OAuth scenarios in mind, but also allows manual registrations. Most of our projects use Azure Active Directory, so we had to implement a standard database solution that would help us with that.

It addresses these areas:

  • user registrations
  • groups, user memberships, even in external groups
  • permissions, permission sets, their assignments to specific groups and users
  • permission checks and ways to propagate permissions from database up to the client

Technologies used

  • PostgreSQL
  • PostgreSQL ltree extension