Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/corejam/corejam

A scaffolding for building progressive GraphQL powered jamstack applications.
https://github.com/corejam/corejam

graphql graphql-server help-wanted jamstack pwa serverless serverless-framework ssg ssr static-site-generator stencil-components stenciljs typescript up-for-grabs web-components

Last synced: about 2 months ago
JSON representation

A scaffolding for building progressive GraphQL powered jamstack applications.

Awesome Lists containing this project

README

        



corejam.io |
[email protected]

![Node.js CI](https://github.com/Corejam/corejam/workflows/Node.js%20CI/badge.svg)
[![codecov](https://codecov.io/gh/Corejam/corejam/branch/master/graph/badge.svg?token=7UEOPHF0W3)](https://codecov.io/gh/Corejam/corejam)

# Corejam is currently under heavy development and THERE IS NO STABLE RELEASE. We currently do not offer an upgrade path and there will be breaking changes until we hit 1.0.0

# If you have ideas for contributing please open an issue before investing time to make sure we can align everyone in the early stages.

## About Corejam

Corejam is a serverless first jamstack scaffolding focused on reusability and simplicity. Use it on its own or inside your favourite tool of choice.

## Core

At its base, Corejam will provide the following tools:

- A GraphQL endpoint which you can feed your schema(s) to quickly start querying / resolving against
- Plugin Mapper to easily allow third party developers to build new functionality or fully fledged serverless systems with ease
- Caching layer
- Server side render & Static site generation
- Bootstrapped web components to allow you to query your GraphQL endpoint and start building right away
- An event system to allow you to hook into and listen to events across the system
- A visual canvas to allow you to drag and drop web components from the web into the page you are building

# Usage

### npm
```bash
$ npm i -g @corejam/cli
```

### yarn
```bash
$ yarn global add @corejam/cli
```

### Creating your first Corejam Application

```bash
$ corejam createApp
```

```bash
$ cd
$ yarn dev
```

You can now access the developer playground on `http://localhost:3001` and the API on `http://localhost:3000`

### Static build of your Application

To create a static build of your application run the following:

```bash
$ cd
$ corejam static
```

# Plugins maintained in this mono repo:

We keep a collection of plugins maintained inside this monorepo:

# Auth

Basic GraphQL JWT authentication for Corejam applications. [Read more](packages/auth/README.md)

A hassle free plug and play JWT authentication package for your Corejam applications to give you an authentication state to use inside your applications.

# DerShop - demo.dershop.dev

[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/git/external?repository-url=https%3A%2F%2Fgithub.com%2Fcorejam%2Fcorejam%2Ftree%2Fmaster%2Fexamples%2Fnextjs&env=JWT_HASH&envDescription=JWT_HASH%20can%20currently%20just%20be%20a%20random%20string.%20This%20is%20used%20to%20sign%20auth%20tokens&project-name=dershop&repository-name=dershop&redirect-url=https%3A%2F%2Fgithub.com%2Fcorejam%2Fcorejam&demo-title=DerShop%20-%20Serverless%20Ecommerce&demo-description=A%20statically%20generated%20webshop%20built%20with%20Corejam&demo-url=https%3A%2F%2Fdershop.dev&demo-image=https%3A%2F%2Fdershop.dev%2Fstatic%2Fimages%2FpreviewAlpha.jpg)




Serverless webshop built with Corejam. [Read more](packages/dershop/README.md)

We currently only build React output targets but we plan on supporting all Stencil.js supported targets. Feel free to contact us if you want to help out.

# Mono repo development setup

We use lerna / yarn to manage our packages.

```bash
$ yarn --frozen-lockfile
$ yarn build
$ yarn bs
```

# Debugging configuration

If you are using VSCode you can use the commited vscode configuration to jump right in. Simply choose the configuration you want and hit run.

For hooking / debugging into the running corejam server boot the api in whichever package you like using `yarn corejam api:serve` and you can then run the `@corejam:api` configuration to select your running process.