SHK INTERNATIONAL
Worldwide Courier Service
UK • Canada • USA • Australia
npm init -y
npm install express mongoose cors dotenv bcryptjs jsonwebtoken nodemon
const express = require('express');
const cors = require('cors');
require('dotenv').config();
const app = express();
app.use(cors());
app.use(express.json());
app.get('/', (req, res) => {
res.send('SHK Courier Backend Running');
});
const PORT = process.env.PORT || 5000;
app.listen(PORT, () => {
console.log(`Server Running on ${PORT}`);
});
const mongoose = require('mongoose');
const connectDB = async () => {
try {
await mongoose.connect(process.env.MONGO_URI);
console.log('MongoDB Connected');
} catch (error) {
console.log(error);
}
};
module.exports = connectDB;
const mongoose = require('mongoose');
const customerSchema = new mongoose.Schema({
name: String,
phone: String,
email: String,
address: String
});
module.exports = mongoose.model(
'Customer',
customerSchema
);
const mongoose = require('mongoose');
const orderSchema = new mongoose.Schema({
trackingNo: String,
customerName: String,
country: String,
weight: Number,
status: String,
createdAt: {
type: Date,
default: Date.now
}
});
module.exports = mongoose.model(
'Order',
orderSchema
);
const express = require('express');
const router = express.Router();
router.get('/:id', async (req, res) => {
const trackingId = req.params.id;
res.json({
trackingNo: trackingId,
status: 'In Transit',
location: 'Delhi Hub'
});
});
module.exports = router;
function calculateRate(weight) {
if (weight <= 5) {
return 1200;
}
return weight * 200;
}
