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

xpg

v1.2.6

Published

a module to help auto generating correct structure of rest services in express (model-view-controller-service).

Downloads

688

Readme

Express Rest API & Boilerplate Generator

Create an app from scratch with Boilerplalte or Generate services and controllers by simple CLI commands based on latest conventions of coding.

We have tried our best to use Restful conventions in our boilerplate and codes.
boilerplate

Features

  • a Boilerplate to start a project from scratch with neccessary configs and structure.

  • CLI Commands to simply create project parts: services, controllers or even whole project structure.

    we will try to make it much better in futrue, any suggestions would be appreciated by all users.

  • Error Handling System.

  • pre configed dotenv structure to bring environment variables.

  • and more hidden features like async handler.

Installation

In your Terminal/CMD enter npm i -g xpg then you can use this package anywhere by CLI commands.

CLI Commands

  • makes a new app xpg -n [app name]

    this command will create a complete project based on model-view-controller and services which is api based and all layers are seperated.

  • makes both controller and service xpg [model name]

  • generate controller xpg -c [controller name]
    controller

  • generate service xpg -s [service name]
    controller

xpg -h will show a list of commands .

Async Handler

  • async handler function will wrap all controllers so you will never need to use try-catch in any of your express apps.
    async handler

Error Handling System

  • very flexible error handling system.
    configs
    this system has been designed and covered all required status codes for your errors. configs
    Methods :
    • badRequest
    • unAuthorized
    • forbidden
    • notFound
    • internal
    • badGateway
    • unAvailabe
    • gatewayTimeout
    Usage :
    • import any of static methods from error directory inside ApiError file. \errors\ApiError.js
    • call imported method and pass your custom message or it will use default message.
      configs

Hidden Features

  • pre configured environment variable configurations for development and production which uses dotenv package.
    configs
  • other pre configurations like:
    • session & cookie parser
    • mongodb database connection by mongoose
    • logger for routes that uses morgan
    • EJS view engine
    • static files directory in public folder
    • extended urlencoded
      extra configs

note: this is an open source project, feel free to clone.
if you have any suggestions we appreciate you make an issue.

Hope You Enjoyed Using This Package ❤️❤️❤️.