jsdrome v1.29.0
⭐️ Star us on GitHub — it helps!
jsDrome
Create Web/Native Apps with:
- Frontend in React
 - Backend in Node
 - Native in Expo
 - Isomorphic Web Apps
 - Progressive Web Apps
 - Unit testing using Jest
 - Code coverage reports using Codecov
 - Regression testing using Cypress, Puppeteer & Percy
 - Docker containers
 - Helm charts deployable in a Kubernetes Cluster
 - Fully automated pipeline using Github actions
 - Deployable in Dockerhub and Github Container Registry
 - Deployable in Google Container Registry using Terraform(WIP)
 - Deployable in npm and Github Package Register as npm package.
 - Integrated with Google Analytics
 - Integrated with Sentry
 
How this works
All you need to do is spin up a new project, sign up to a few providers, set the tokens and secrets correctly and the rest is all magic. When you push code to master, it will just be deployed everywhere in 10 minutes after a series of checks.
Setup Project
- Install jsDrome
 
npm i -g jsdrome- Spawn a new jsdrome app.
 
jsdrome my-appYou need to sign up for: Codecov, Cypress, Percy, Dockerhub, Heroku, Firebase and npm and get the respective tokens.
Set the environment secrets in Github.
Push
Run locally normally
Make sure npm dependencies are installed.
npm run dev in one shell,
npm run nodemon in another.
Run locally as a docker container
- Set the following environment variables locally.
DOCKER_IMAGE_NAME
 
npm run build-dockerRun locally as a helm app
Make sure minikube and helm are installed.
Run locally:
npm run build:helm
npm run build:helm:uninstallRun unit tests locally
npm run testSetup Github actions
Set up the secrets given in the sections below.
Setup Codecov
- Sign up in Codecov and integrate it with your project.
 - Set the following environment secrets.
CODECOV_TOKEN
 
Run locally:
npm run test:codecovRun in CI: See workflow file.
Setup Cypress
- Sign up in Cypress and integrate it with your project.
 - Set the following environment secrets.
CYPRESS_PROJECT_IDCYPRESS_TOKEN
 
Run locally:
npm run test:cypress:runRun in CI: See workflow file.
Setup Percy
- Sign up in Percy and integrate it with your project.
 - Set the following environment secrets.
PERCY_TOKEN
 
Run locally:
npm run test:percyRun in CI: See workflow file.
Setup Puppeteer
Run locally:
npm run test:puppeteerRun in CI: See workflow file.
Setup Heroku Deployment
- Sign up in Heroku and create a new app.
 Set the following environment secrets.
DOCKER_IMAGE_NAMEHEROKU_APP_NAMEHEROKU_API_KEY
Run locally:
npm run release:herokuRun in CI: See workflow file.
Setup Firebase deployment
- Sign up in Firebase and integrate it with your project.
 - Set the following environment variables locally.
FIREBASE_TOKEN
 
Run locally:
npm run release:firebaseRun in CI: See workflow file.
Setup Github Container Registry release
Run locally: -
Run in CI: See workflow file.
Setup Dockerhub Container Registry release
Run locally: -
Run in CI: See workflow file.
Setup npm publishing
- Sign up in npm and integrate it with your project.
 - Set the following environment secret.
NPM_TOKEN
 
Run locally: -
Run in CI: See workflow file.
Setup Expo
Run locally:
expo:start
expo:android
expo:ios
expo:web
expo:eject