Skip to content
/ cli Public

Awesome isomorphic NodeJS skeleton for structured applications

License

Notifications You must be signed in to change notification settings

eden-js/cli

Repository files navigation

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.