2021-04-08 15:04:28 -07:00
2021-04-08 15:04:28 -07:00
2021-04-08 09:20:37 -07:00
2021-04-08 15:04:28 -07:00
2021-04-08 16:48:45 -07:00
2021-04-01 08:49:58 -07:00
2021-04-06 17:52:42 -07:00
2021-03-30 12:32:33 -07:00
2021-03-30 12:32:33 -07:00
2021-03-30 12:32:33 -07:00
2021-04-07 20:19:59 -07:00
2021-04-07 20:26:18 -07:00
2021-04-06 17:52:42 -07:00

jambonz

The "bring your own everything" CPaaS

Deploy targets

This app can easily be deployed to multiple targets including Vercel, Netlify or AWS+circleci.

Dev start

Clone this repository and install yarn. From app root:

  • yarn install
    • Installs node packages
  • yarn dev

Other packages being used prominently in this apps source code are classnames and nanoid.

Jambonz UI library

This app is being composed in the manor of module > component > element, wherein a page is a module which is made up of components that are comprised of elements. We are using Next.js SASS located in the styles directory and loaded globally in pages/_app.js. A generally simple BEM CSS module naming convention is being used prominently. JS components are in the components directory. The jambonz-ui component consists of reusable design element components.

You can view examples of the Jambonz UI component elements on this page here.

Static page data

We are using static data with yamljs and Next.js static props. Data files are located in the data directory. There's a JS data utility in lib/data.js that provides a method for "fetching" the static data for use with a Next.js pages async getStaticProps SSR method.

Jambonz developer docs

The project is generating developer docs from markdown files using static file JS utilities alongside Next.js static paths/props system. We are leveraging their catch-all dynamic routes logic located at pages/docs/[[...slug]].js. The markdown files are in the docs directory. The docs structure is controlled in the docs page YAML data located in data/docs.yaml. You can create docs markdown files at will in the docs directory but they will not render in the sidebar nav until they are also added to the nav structure in this file.

We are using remark & remark-html as well as gray-matter for parsing the docs markdown files. Code syntax highlighting is done with prismjs and the associative babel config is in the .babelrc file. It's important to leave the preset in this file that merges our config with next/babel so Next.js works properly.

Description
jambonz is the open source CPaaS built for communications service providers.
Readme MIT 6.6 MiB
Languages
JavaScript 66.7%
SCSS 33.2%
Shell 0.1%