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

express-mongoose-api-seed

v0.1.1

Published

- - - ###### *Remove this for your project*

Downloads

5

Readme

express-mongoose-api-seed


Remove this for your project

Description

This project provides an organized application directory structure from which you can begin your NodeJS project. Use it to host an ExpressJS API using MongooseJS.

File structure

  • /app.js: Load and serve API resources

  • /controllers: Contains API endpoint controllers

  • /lib: Contains NodeJS helpers

    • /lib/config.json: Configuration info for port, DB, session, etc.

    • /lib/settings.js: API settings

    • /lib/database.js: Mongoose connection helper

    • /lib/routes.js: API endpoints

    • /lib/utils.js: API helper functions

  • /models: Contains Mongoose models

    • /models/index.js: Declare models to use

    • /models/user.js: User model schema declaration

  • /public: ExpressJS will statically serve this directory, served from memory

  • /tests: Vows test files

    • /tests/data.json: Test data

    • /tests/user-test.js: Create, login, logout, remove user

Remove this for your project

Routes

Notes

  • @session_role
  • @body = POST param
  • @param = URL param /user/:param
  • (options)

User

Method | Endpoint | Action ------------- | ------------------------- | ----------------------------------------- POST | /user | Create User POST | /user/login | Login User POST | /user/logout | Logout User GET | /user/auth | Auth User GET | /user/:role | List Users GET | /user/:uid | Show User DELETE | /user/:uid | Delete User


  • @body email
  • @body password (8 - 20 chars, 1+ digit)
  • @body first
  • @body last
  • @body role (user|admin)
{
    "_id": "5307a99ed5539300005a665d",
    "username": "hjboylan",
    "name": "Hugh Boylan",
    "role": "user"
}
  • @body email
  • @body password

Same as Show User

Destroy user session

  • @param role (user|admin)
[
    {
        "_id": "5307a99ed5539300005a676e",
        "username": "thinkerton",
        "name": "John Barnack",
        "role": "admin"
    }
]
  • @param uid
{
    "_id": "5307a99ed5539300005a665d",
    "username": "hjboylan",
    "name": "Hugh Boylan",
    "role": "user"
}
  • @body password