npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@corvina/create-corvina-app

v1.9.15

Published

Setup a corvina web app in one command!

Downloads

365

Readme

create corvina app

Setup a corvina web app in one command!

The template generated by this command is tested and supported by the Corvina team. It is a good starting point for building a web app that can be embedded in the Corvina platform.

Note: We test the app template generated by this command on the following platforms:

  • Ubuntu 20+
  • macOS 11+
  • Windows 11 with WSL2

Usage

You can create a new corvina web app by running the following command:

npx @corvina/create-corvina-app@latest webapp

This will prompt you to select a name for your app, and then create a new directory called corvina-app-{name}. Inside the directory, it will generate the initial project structure.

The basic structure of the project is as follows:

corvina-app-{name}
├── README.md # NB: all the instruction to run and develop the app!!
├── docker-compose.yaml
├── /app # frontend application written in vuejs and typescript
│   ├── package.json
|   ├── Dockerfile
│   ├── /src
│   ├── ...
├── /service # backend service written in nestjs and typescript
│   ├── package.json
|   ├── Dockerfile
│   ├── /src
│   ├── ...
├── /helm-charts # helm charts for the service and the app for local development and for deploying in corvina kubernetes cluster
│   ├── /corvina-app-{name}
│   │   ├── Chart.yaml
│   │   ├── values.yaml
│   │   ├── templates
│   │   ├── ...

You can also create the app without prompting:

npx @corvina/create-corvina-app@latest webapp --name myapp --kubernetes

Meaning of helm charts

The helm charts are used to deploy the application in a kubernetes cluster. The corvina-app-{name} chart is used to deploy the application in the Corvina platform. We provide this structure as an example of how we build and deploy our applications in Corvina. You can use this structure as a starting point for your own application or you can use your own structure (there is no need to deploy on kubernetes).

We use to develop our application using minikube on our laptop. For that reason, at the root of the project, you will find some scripts to help you:

  • ./start-all-locally.minikube.sh: starts all the stuff you need to run the app locally (postgresql, redis, service, app and istio ingress)
  • ./install-certificate-locally.sh: installs the certificate for the app locally (you need to run this script after running the previous one)
  • ./cleanup.minikube.sh: delete all the resources created by ./start-all-locally.minikube.sh

Moreover to easily handle deployment on different environments, we leverage the power of helmfile. A utility script deploy.sh <environment> wraps call to Helmfile to deploy the application on a specific kubernetes cluster. The script will use the environment name to select the values specific for it.

Develop on this repo

If you want to develop on this repo, you need to install the following softwares:

Deploy a new version

You need to be a member of @corvina organization on npm to deploy a new version of this package. If you are, you can run the following command:

npm run prepublish
npm run deploy

NB: remember to update the version in the package.json file before deploying a new version!

Resyncing an existing app with scaffold

If you want to resync an existing app with the latest scaffold, you can run the following command:

./scripts/resync-create-corvina-app-sh

The script requires to run in a valid git repo.

The first time the script will initialize a branch named create-corvina-app running the create-corvina-app command at the version used for scaffolding the app.

Afterwards, the script will rebase the branch on the latest version of the create-corvina-app command.

You can use this branch to cherry-pick the changes you want to apply to your app, or to contribute back changes to create-corvina-app.