cli icon indicating copy to clipboard operation
cli copied to clipboard

Awesome isomorphic NodeJS skeleton for structured applications

EdenJS

TravisCI Issues License Awesome Discord

Awesome isomorphic NodeJS skeleton for structured applications. Just have a look at the "bundles" that make up an EdenJS application.

Getting Started

These instructions will get a copy of the project up and running on your local machine.

See deployment for notes on how to deploy the project.

Prerequisites

Required software to install and run EdenJS:

Installation

// Generate new project
npm i -g @edenjs/cli
mkdir project
cd project
edenjs init app
npm install --save @edenjs/core bootstrap
edenjs run

Deployment

// Docker
docker build . -t edenjs/eden
docker push edenjs/eden

// Docker-Compose
Will deploy redis and mongodb locally for testing/development
docker-compose up -d
// kubernetes

Deploy redis and mongodb.
Our prefered method is via helm

// Install mongodb-replicaset
helm repo add stable https://kubernetes-charts.storage.googleapis.com/
helm install --name my-release stable/mongodb-replicaset

// Install redis
helm install stable/redis
Get the config values from these and edit config.js

// Create configmap
kubectl create configmap eden-configmap--from-file=config.js=config.js

// Deploy EdenJS
kubectl apply -f kubernetes.yml

// Optional for Continious Deployment
Will poll the registry every minute for image changes and do a rolling release on production

helm repo add keel-charts https://charts.keel.sh
helm repo update
helm upgrade --install keel --namespace=kube-system keel-charts/keel

Running the tests

// Test EdenJS with NPM
npm test;

Deployment

// Run in production
edenjs start

Tutorial

A basic tutorial on how to get started with EdenJS is available: TUTORIAL.md

Built With

  • Express - Fast, unopinionated, minimalist web framework for Node.js.
  • socket.io - Node.js realtime framework server.

Versioning

We use SemVer for versioning.

Authors

  • Alex Taylor - Lead Developer - EdenCoder
  • installgen2 - Webbed Toes - notgne2
  • Jack Taylor - Developer - OhYea777
  • Mike Mackenzie - Documentation / Developer - veb

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE file for details.