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

vynl

v0.1.0

Published

VYNL a boilerplate generator for Express.js projects using MVC architecture

Downloads

13

Readme

Vynl an MVC Generator for Express JS

What's Inside

A boilerplate generator for Express.js. It uses MVC architecture, and will generate Sequelize Models, its respectives Controllers and Routes, while also generating Swagger documentations for you. All under a single command line :)

Initialize Project

Start by creating our project with VYNL init. The following command will create our project structure, generating folders in our project where our Models, Controllers, Routes, and Documentations will reside in.

$ vynl init

Our project directory after

.
|--auth
|    └──auth.js
|--config
|    └──config.json
|--docs
|    |--paths
|    |    |--index.js
|    |    └──users.js
|    └──schemas
|         |--index.js
|         └──users.js
|--migrations
|--models
|--routes
|--app.js
└──swagger.js
  • /auth: Contains our login and verifyToken logic to secure routes using jsonwebtoken
  • /config: Database config. Following sequelize-cli format
  • /migrations: Our Migrations files. Following sequelize-cli format
  • /models: Our Models files. Following sequelize-cli format
  • /controllers: Our Controllers files. Following sequelize-cli format
  • /docs/paths: Where we define our Swagger Paths
  • /docs/schemas: Where we define our Swagger Schemas Components

Generating Commands

generate:api

Generate Model, Controller, Route, Swagger Doc for the model specified.

required: model_name and fields

$ vynl generate:api -m <model_name> -f <fields>

generate:model

Generate Model only.

required: model_name, fields

$ vynl generate:model -m <model_name> -f <fields>

generate:controller

Generate Controller only.

required: model_name

$ vynl generate:controller -m <model_name>

generate:route

Generate Route only.

required: route_name

$ vynl generate:route -r <route_name>

generate:swagger

Generate Swagger only.

required: model_name, fields

$ vynl generate:swagger -m <model_name> -f <fields>

Manual

VYNL CLI

vynl [command]

Commands:
  vynl init                             Initializes project
  vynl generate:api                     Generates Model/Migration/Controller/Route/SwaggerDoc
  vynl generate:model                   Generates Model/Migration
  vynl generate:controller              Generates Controllers
  vynl generate:route                   Generates Routes
  vynl generate:swagger                 Generates Swagger Documentation

Options:
  --help      Show help