Welcome to Hounddesk, we're an Open Source project from the NodeCo community. Our goal is to provide a better way to connect with your community. Our roadmap is under construction at the moment.
Join our community
Currently we're planning the project and preparing an early version, but no worries, you will be able to collaborate soon !
We are using many different technologies, but our main stack is Node.js using the following tools:
Name | Type |
---|---|
Mongo | Storage |
Google Cloud | API hosting via GKE |
Firebase | Authz |
Typescript | Static type definitions |
Bugsnag | API logs management |
Hounddesk is build around the concept of creating plugable modules in order to encourage low coupling (that means reducing the direct dependency for another component).
Authentication and Authorization is one of the core modules of any application. For Hounddesk is not the exception, we want to be able to provide a secure system without compromising flexibility.
We will leverage Hapi authentication strategy for that.
Name | Type |
---|---|
@hounddesk/plugin-firebase-authz | Authorization |
@hounddesk/plugin-firebase-users | Authentication and User management |
@hounddesk/password-policy | Password policy |
Hounddesk core libraries are Open Source too! They are under the project Bones
Hounddesk and Hounddesk core libraries are officially supported by NodeCo Community
This is a GitHub template repository created from our open source project pkg-template
Before using, download and install Node.js. Node.js 10.16.3 or higher is recommended.
- TypeScript
- Testing with Jest and Tap reporter
- TypeScript linting using eslint
- TypeScript watch mode using ts-node-dev
- Formatting using Prettier
- Pre-commit hook using Husky (will run linter, formatting and unit tests before each commit)
- Format on save / type enabled by default using Prettier
- Prettier extension configuration, Read more
- Source folder: src
- Output directory: dist
- Sourcemaps enabled by default
- Jest current file: Unit test debugging command for VSCode
- Debug: Node debugging command for VSCode
- All the eslint plugins are using the recommended defaults
$ npm run dev
$ npm run build
$ npm run build:watch
$ npm test
$ npm run lint
$ npm run lint:fix
$ npm run coverage
The following extensions works great alongside with this setup: