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

@iopanda/quick-web-framework

v1.0.13

Published

Welcome to Quick Web Platform, the goal of this project is accelerate the development process for developers.

Downloads

1

Readme

Quick Web Framework based on Node.js

Welcome to Quick Web Platform, the goal of this project is accelerate the development process for developers.

Introduction

As a developer, commonly you have to consider about very basic things like web engine, database connection, object relational mapping, sometimes about the features like user management, security and configuration management. But in most of the cases, we just need the same feature in defferent applications. So this project is trying to save your time on these domains.

Currently we integrated below components, it will hide a lot of detail things. You just need to setup the configuration, then the application will ready for you.

  • Web Engine: [ Express ]
  • ORM Framework: [ Sequelize ]
  • Middlewares
    • Authenticator: [ oidc-client | saml | ibm_appid | openidconnect ]
    • View Engine: [ EJS | Pug | React ]
    • Static Resources
    • Session Persistence: [ Redis | MongoDB | Cloudant | MySQL ]

Installation

Install with CLI mode:

npm install @iopanda/quick-web-framework -g

Install with package mode:

npm install @iopanda/quick-web-framework --save

Create your first application

If you install with CLI mode, then you can use the command 'wapp' to create your project:

wapp create myapp

There will be a prompt to guide you setup your project:

(nodejs) ➜  temp wapp create myapp

? Choose your plugins ›
Instructions:
    ↑/↓: Highlight option
    ←/→/[space]: Toggle selection
    a: Toggle all
    enter/return: Complete answer
◯   Framework::Middleware::Authenticator
◯   Framework::Middleware::StaticResources
◯   Framework::Middleware::ViewEngine
◯   Framework::Middleware::ExpressRouter
◯   Framework::database::ORMFramework

Now you can only select to use plugin StaticResources, this plugin will post your folder as static resources.

Now you got a folder with structures as below:

> ls -al

drwxr-xr-x   9 sunxiaoyu  staff  288 Oct 11 18:18 .
drwxr-xr-x  11 sunxiaoyu  staff  352 Oct 11 18:18 ..
-rw-r--r--   1 sunxiaoyu  staff   66 Oct 11 18:18 .env
-rw-r--r--   1 sunxiaoyu  staff   54 Oct 11 18:18 .gitignore
-rw-r--r--   1 sunxiaoyu  staff  207 Oct 11 18:18 application.yaml
-rw-r--r--   1 sunxiaoyu  staff  110 Oct 11 18:18 index.js
-rw-r--r--   1 sunxiaoyu  staff  269 Oct 11 18:18 package.json
drwxr-xr-x   3 sunxiaoyu  staff   96 Oct 11 18:18 protected
drwxr-xr-x   3 sunxiaoyu  staff   96 Oct 11 18:18 public

Here's the description for each file:

.env
# this file is used by your local to setup environment variables for runtime. We suggest only use this file in DEV mode.

.gitignore
# ignore some useless file for git.

application.yaml
# the mainly configuration file of your application.

index.js
# if you are making a plugin, this file is the entry to setup your plugin.

package.json
# nodejs package file

public/
private/
# sample folder created for plugin staticResources

In above files, the most important file is application.yaml. In this file, it contains all of configuration of plugins. Now open the file and you will see as below:

application:
  name: myapp
  staticResources:
    - path: public
      location: /pages/public
    - path: protected
      location: /pages/protected

  plugins:
    - framework::middleware::staticResources

The root node must named with application, there're 3 subnodes under application:

  • name: Name of the application
  • plugins: Plugin list, the application will init the plugin by the sequence.
  • staticResources: Plugin configuration. The structure is depended on the rule by different plugins.

There's only one plugin staticResources be added, this plugin will publish folders as static resources.

By default, there're 2 object for this plugin. The path is your local folder path, and the location is the URL which the folder will be published.

Before your start yoru application, you have to use NPM to install required packages:

> cd myapp
> npm install

After the installation, now everything's ready! You can use below command to run your application:

> npm start

> [email protected] start /Users/sunxiaoyu/Documents/temp/myapp
> wapp start

[framework::staticResources] Mounted /myapp/pages/public -> /Users/sunxiaoyu/Documents/temp/myapp/public
[framework::staticResources] Mounted /myapp/pages/protected -> /Users/sunxiaoyu/Documents/temp/myapp/protected
plugin staticResources has configured

Check the console information, you can see your folder has been published to /myapp/pages/public and /myapp/pages/public, now you can visit your application by below link:

public: http://localhost:3001/myapp/pages/public

protected: http://localhost:3001/myapp/pages/protected

Have a nice journey!