0.1.1 • Published 10 years ago

express-mongoose-api-seed v0.1.1

Weekly downloads
10
License
-
Repository
github
Last release
10 years ago

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

MethodEndpointAction
POST/userCreate User
POST/user/loginLogin User
POST/user/logoutLogout User
GET/user/authAuth User
GET/user/:roleList Users
GET/user/:uidShow User
DELETE/user/:uidDelete 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