Puttyimegs is an open stock image DApp that live within the LikeCoin ecosystem.
The suggested way of development environment is docker based. This guide will assume you have Docker Community Edition 18+ installed. Please download at https://store.docker.com and follow the installation instruction.
After you setup docker, fun the following command to setup the docker image and basic DB schema. Also kick start the docker container for development.
# Build the docker images, run it for the first time or you have dependency
# updates
docker-compose build
# Run the DB migration and reseed the DB for the first time run or after you
# pull an update.
docker-compose run --rm nuxt npm run sequelize db:migrate
docker-compose run --rm nuxt npm run sequelize db:seed:all
# Kick of the development setup
docker-compose up
Local files are mount into docker you can modify file in your fs and will hot reload.
# For development
export LIKECHAIN_HOST=http://x.x.x.x
export PROVIDER_ADDRESS=0x
export PROVIDER_PRIVATE_KEY=xxx
docker-compose up
# For deployment
kubectl delete secret app-secret # remove old secret
kubectl create secret generic app-secret \
--from-literal=LIKECHAIN_HOST=http://x.x.x.x \
--from-literal=PROVIDER_ADDRESS=0x \
--from-literal=PROVIDER_PRIVATE_KEY=xxx
make test
Oursky hosts a staging continuous integration pipeline for fast review. The
deployed endpoint is
https://puttyimages.pandawork.com. The
endpoint is in sync with the master
branch of Oursky
fork via Travis-CI. You can send PR to the
branch if you want your changes reflect on the review endpoint.
The continuous integration setup is assuming an
kubernetes environment. If you want to deploy your
own instances, you can checkout the ./k8s
folder for details.
docker-compose -f docker-compose.yml -f docker-compose.production.yml --project-name puttyimages_prod build
docker-compose -f docker-compose.yml -f docker-compose.production.yml --project-name puttyimages_prod up
For detailed explanation on how things work, checkout the Nuxt.js docs.
We use backpack to watch and build the application, so you can use the latest ES6 features (module syntax, async/await, etc.).