express-crud-core
v1.0.0
Published
Express.js CRUD utility with MongoDB, authentication, cookies, sessions, and Pug templates - extracted from college curriculum
Maintainers
Readme
express-crud-core
Express.js CRUD utility with MongoDB, authentication, cookies, sessions, and Pug templates.
Extracted from college curriculum covering Express.js, MongoDB, Authentication, and Template Engines.
Installation
npm install express-crud-coreQuick Start
1. Basic Express Server
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => res.send('Home Page'));
app.get('/about', (req, res) => res.send('About Page'));
app.listen(port, () => console.log(`Server on http://localhost:${port}`));2. CRUD with MongoDB
const express = require('express');
const mongoose = require('mongoose');
const { createCrudRouter } = require('express-crud-core');
const app = express();
const Student = mongoose.model('Student', new mongoose.Schema({
name: String, course: String, age: Number
}));
mongoose.connect('mongodb://127.0.0.1:27017/mydb');
app.use('/students', createCrudRouter(Student));
app.listen(3000);3. Authentication (Cookies + Sessions)
const express = require('express');
const { setupSession, authMiddleware } = require('express-crud-core');
const app = express();
setupSession(app);
app.use(express.urlencoded({ extended: true }));
app.post('/login', (req, res) => {
if (req.body.username === 'admin' && req.body.password === '123') {
req.session.user = req.body.username;
res.send('Login Successful');
} else {
res.send('Invalid Credentials');
}
});
app.get('/dashboard', authMiddleware, (req, res) => {
res.send(`Welcome ${req.session.user}`);
});
app.listen(3000);API
createCrudRouter(model, options)
Generates full CRUD routes for a Mongoose model:
GET /- List all (supports?category=Xfiltering)GET /:id- Get by IDPOST /- Create one or many (array)PUT /:id- Update by IDDELETE /:id- Delete by ID
authMiddleware
Protects routes behind session-based authentication.
setupSession(app, secret)
Configures express-session middleware.
setupCookies(app)
Configures cookie-parser middleware.
connectDB(uri)
Connects to MongoDB using Mongoose.
Examples
npm run example:basic # Basic routing server on :3000
npm run example:crud # In-memory CRUD + cookies on :3001
npm run example:mongo # MongoDB CRUD on :3002
npm run example:auth # Auth with sessions on :3003Topics Covered
- Express.js routing (GET, POST, PUT, DELETE)
- Route parameters
- Static files
- CRUD operations (in-memory & MongoDB)
- MongoDB/Mongoose integration
- Cookie management (set, get, delete)
- Session management
- Authentication flow
- Pug template engine
- Conditional rendering in Pug
License
MIT
