joyent-portal/legacy
2017-05-25 19:44:31 +01:00
..
bin chore: initial lerna setup 2017-05-25 10:56:50 +01:00
cloudapi-graphql chore: initial lerna setup 2017-05-25 10:56:50 +01:00
control-tower chore: initial lerna setup 2017-05-25 10:56:50 +01:00
design chore: initial lerna setup 2017-05-25 10:56:50 +01:00
docker-compose-client chore: initial lerna setup 2017-05-25 10:56:50 +01:00
docker-graphql chore: initial lerna setup 2017-05-25 10:56:50 +01:00
docs chore: initial lerna setup 2017-05-25 10:56:50 +01:00
frontend chore: initial lerna setup 2017-05-25 10:56:50 +01:00
frontend-technical-prototype chore: initial lerna setup 2017-05-25 10:56:50 +01:00
nginx chore: initial lerna setup 2017-05-25 10:56:50 +01:00
portal-data chore: initial lerna setup 2017-05-25 10:56:50 +01:00
spikes chore: initial lerna setup 2017-05-25 10:56:50 +01:00
ui chore: initial lerna setup 2017-05-25 10:56:50 +01:00
.gitattributes chore: initial lerna setup 2017-05-25 10:56:50 +01:00
.gitignore chore: initial lerna setup 2017-05-25 10:56:50 +01:00
circle.yml chore: initial lerna setup 2017-05-25 10:56:50 +01:00
CONTRIBUTING.md chore: initial lerna setup 2017-05-25 10:56:50 +01:00
docker-compose.yml chore: initial lerna setup 2017-05-25 10:56:50 +01:00
licence.js chore: initial lerna setup 2017-05-25 10:56:50 +01:00
LICENSE chore: initial lerna setup 2017-05-25 10:56:50 +01:00
local-compose.yml chore: initial lerna setup 2017-05-25 10:56:50 +01:00
Makefile chore: initial lerna setup 2017-05-25 10:56:50 +01:00
package.json chore: initial lerna setup 2017-05-25 10:56:50 +01:00
README.md chore: initial lerna setup 2017-05-25 10:56:50 +01:00
yarn.lock chore: initial lerna setup 2017-05-25 10:56:50 +01:00

CircleCI License: MPL 2.0

Prototype Triton Portal

This is a prototype project intended to explore some ideas that might contribute to new capabilities and a new user experience for managing applications on Joyent's Triton.

This is not intended for general use and is completely unsupported.

Our Principles

We have designed this product with these principles in mind (to be completed).

Our Design Library

We use inVision craft for our design components, you can downoad this library here and submit proposed changes to our Sketch wireframes here.

Documentation

Our workshop meeting notes are kept in this Google Drive folder. Our meeting notes are kept in this Google Drive folder.

Development

If you would like to contribute to the project, the recommended way to setup is to insure that you have docker installed, and optionally have a triton account and profile setup using the triton tool.

Currently requires yarn for installing dependencies, as well as docker and docker-compose are installed correctly, this can be done by running make, make continues without any errors, then you are good to go. node-triton is also needed if deployment to Triton is required.

make && make install 

Then to run each individual component locally (subject to change).

Setup

make

Run services

To run the stack locally:

docker-compose -f local-compose.yml up -d

This will run the front-end at http://127.0.0.1:8000, the UI framework at http://127.0.0.1:8001,

Project Management

This project is using Github Projects for organisation and development of the Joyent Dashboard.

Repository Layout

Currently we are using this repository as a monolithic catch-all for all project communication, development and designs. We will also include multiple PoC's of various bits of functionality from UI's prototypes to API development.

.
├── cloudapi-graphql
├── docs
├── frontend
├── nginx
├── ui
└── spikes

cloudapi-graphql

An implementation of the Joyent CloudAPI in GraphQL.

Docs

Documentation about the project, mainly focused on information for the technical runnings of this project. Can be view online at the documentation website

frontend

The client side code with a dev-server, this also includes the production server for the meantime, however we are looking at moving towards a deployment of the build artifacts to manta, and another server to host these assets.

nginx

Nginx will be sitting in-front of the ui service, allowing the ui to scale out.

ui

Code for the reusable UI framework.

spikes

Implementation examples from spikes, this directory is experimental and is likely broken.

Git LFS

  • We are using Git LFS to track large files, such as design files in Sketch.
  • Make sure you have this downloaded locally brew install git-lfs

Helpful tips

  • If there is an error cloning to a new machine, or there is an error cloning in the Circle CI process run git lfs push origin master --all from a machine that has it already checked out.

Sketch Pre Commit

A pre-commit hook has been added to generate a PNG shot of each .sketch file "page".

To use, make sure the following are installed:

Then add following to your .git/config

[diff "sketchtool"]
    textconv = "sketchtool dump"
    cachetextconv = true