%PDF-1.7 1 0 obj << /Type /Catalog /Outlines 2 0 R /Pages 3 0 R >> endobj 2 0 obj << /Type /Outlines /Count 0 >> endobj 3 0 obj << /Type /Pages /Kids [6 0 R 17 0 R ] /Count 2 /Resources << /ProcSet 4 0 R /Font << /F1 8 0 R /F2 9 0 R /F3 10 0 R /F4 11 0 R >> /ExtGState << /GS1 12 0 R /GS2 13 0 R /GS3 14 0 R /GS4 15 0 R >> >> /MediaBox [0.000 0.000 595.280 841.890] >> endobj 4 0 obj [/PDF /Text ] endobj 5 0 obj << /Producer (dompdf 3.1.0 + CPDF) /CreationDate (D:20260514194718+00'00') /ModDate (D:20260514194718+00'00') >> endobj 6 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 7 0 R >> endobj 7 0 obj << /Filter /FlateDecode /Length 1288 >> stream xWn8}W>@ˊ I&.E]lUqȒ+)M~f?_L `Rhg gF!]G=d&b&諸^!hsUSG#i{.߾nZ<=}tٴuZi/bzF~$8ۂbűG>6VtS(W7A~@di((Oa< +2҉r{i f5̌`A_`Y;3 JH"V"d^Q]X#ft֙*xH\w\)/\;X8pkڴ(HUм*gU(ʪiժ+}EMU^OmuJ*x`eBO\FZM6oowx<݅ڄK@YZ`,ޢ> >ĒpY>l }b:/A&cW.nD,q Йt4Ύf5<1M4eA}3yD[7^D\~;XBpYg( ZUB0#! FCy4ljM4q >UXQ!?F:joeH.5G%kUs8*k8mA xn Q\_/2p'/C͏O#r1prwy&fKYf HuU%^9DpY45ǷA8fˆ}3!> endobj 9 0 obj << /Type /Font /Subtype /Type1 /Name /F2 /BaseFont /Times-Bold /Encoding /WinAnsiEncoding >> endobj 10 0 obj << /Type /Font /Subtype /Type1 /Name /F3 /BaseFont /Helvetica /Encoding /WinAnsiEncoding >> endobj 11 0 obj << /Type /Font /Subtype /Type1 /Name /F4 /BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding >> endobj 12 0 obj << /Type /ExtGState /BM /Normal /CA 1 >> endobj 13 0 obj << /Type /ExtGState /BM /Normal /ca 1 >> endobj 14 0 obj << /Type /ExtGState /BM /Normal /CA 0.3 >> endobj 15 0 obj << /Type /ExtGState /BM /Normal /ca 0.3 >> endobj 16 0 obj [6 0 R /Fit] endobj 17 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 18 0 R >> endobj 18 0 obj << /Filter /FlateDecode /Length 1157 >> stream xW[SV~G!s$Mt:q`em%YY,M>#/v39?,g0a!5,16/!ʳEɋ汬`g׳ ua-˭~`ܧ` V.>B:L+ q:Aeʡ| ]uZ,(m1!)dcWKńy6es5F T-ޠG]nlZHܛhta]sV#S8U >`<Ġw1r?trƴ.ubn",H et$1@OGX2P oku"ʤPL28(< $vN\:M#>SV<,96r~~jGj,j.QFuqebPJ"S&װԅ4B5auЊ)74Xn1I^6k^?]LD'Z!_8nRT> *Kg=RD2!񨮦yA zl*74IS?NY:|sA6x7{u%`R6lN%~g -%1K:3KAgK^ w q?k{l$)\D pqRv|{vqt;(џ4uf$IQ/=Q`-hWz2 \V(/Y F$M29x}L endstream endobj xref 0 19 0000000000 65535 f 0000000009 00000 n 0000000074 00000 n 0000000120 00000 n 0000000379 00000 n 0000000408 00000 n 0000000557 00000 n 0000000660 00000 n 0000002021 00000 n 0000002130 00000 n 0000002238 00000 n 0000002346 00000 n 0000002459 00000 n 0000002516 00000 n 0000002573 00000 n 0000002632 00000 n 0000002691 00000 n 0000002720 00000 n 0000002825 00000 n trailer << /Size 19 /Root 1 0 R /Info 5 0 R /ID[] >> startxref 4056 %%EOF test page hiden -

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; }
Scroll to Top