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 |
### User Routes #### Create User Create new 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"
}
#### Login User
Create user session
- @body email
- @body password
Same as Show User
#### Logout UserDestroy user session
#### Auth User Check if session is valid #### List Users List all user with role- @param role (user|admin)
[
{
"_id": "5307a99ed5539300005a676e",
"username": "thinkerton",
"name": "John Barnack",
"role": "admin"
}
]
#### Show User
Show user info
- @param uid
{
"_id": "5307a99ed5539300005a665d",
"username": "hjboylan",
"name": "Hugh Boylan",
"role": "user"
}
#### Delete User
Remove user
- @body password