Skip to content

Murad134/ProFast

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

30 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“¦ ProFast - Parcel Delivery Management System

A scalable and role-based full-stack web application designed to streamline the management of parcel delivery, rider allocation, tracking, and customer administration.

The platform provides a centralized digital ecosystem where users, delivery riders, and administrators can efficiently manage and monitor parcel shipments through a modern, secure, and responsive web interface.


🌐 Live Link

πŸš€ Experience ProFast Live Here!


Project Overview

The ProFast - Parcel Delivery Management System was developed to solve the limitations of manual or disjointed parcel booking systems conventionally used in logistics.

Traditional delivery management systems often suffer from:

  • Difficult tracking and updates
  • Inefficient rider allocation
  • Lack of centralized administration
  • Poor scalability
  • Weak role-based access control
  • Insecure or slow payment processing

To overcome these challenges, this system introduces a dynamic and scalable architecture that supports:

  • Real-time parcel tracking
  • Role-based administration
  • Secure Stripe payment integration
  • Dynamic rider assignments
  • Profile and earnings management for riders
  • Administrative dashboard for system governance
  • Interactive map-based tracking

The system is designed with modular architecture principles to ensure maintainability, scalability, and future extensibility.


Key Features

Core Functionalities

  • Full Stack MERN-Based Architecture
  • Role-Based Access Control (RBAC)
  • JWT Authentication via Firebase
  • Secure Password Encryption
  • Dynamic CRUD Operations
  • Real-Time Data Synchronization
  • Responsive User Interface
  • Parcel Booking & Management
  • Delivery Rider Allocation System
  • Real-Time Event Tracking & Logging
  • Secure Stripe Integration
  • Administrative Dashboard
  • Scalable Modular Structure
  • Optimized Database Operations
  • Cloudinary Image Upload Support

User Roles & Permissions

The platform provides three different access levels to ensure secure and structured management of logistic resources.


Customer / User

Users are regular customers looking to book parcels, track them, and make payments.

User Capabilities

  • Register and Login securely
  • Create and schedule new parcels
  • View parcel history and current statuses
  • Process secure payments using Stripe
  • Track assigned delivery riders
  • Update profile and request to become a rider
  • Access coverage and service metrics

Delivery Rider

Riders act as the on-ground delivery personnel managing assigned logistical tasks.

Rider Capabilities

  • Access a personalized Rider Dashboard
  • View pending and assigned deliveries
  • Update parcel statuses (Picked Up, Delivered, etc.)
  • View detailed delivery routes
  • Track personal delivery earnings and history
  • Oversee completed deliveries
  • Request cashouts from administrators

Administrator

Admins have complete authority over the entirety of the system's operational flow and workforce governance.

Admin Capabilities

Parcel Operations

  • Oversee all system parcels
  • Manually assign unallocated parcels to riders based on districts
  • Update systemic parcel statuses

Workforce Management

  • Review and approve new Rider requests
  • View active riders and track their performance
  • Manage platform users and assign roles (Promote to Admin)
  • Track and manage rider payouts

System Governance

  • Centralized performance dashboard
  • Access aggregate delivery and revenue metrics
  • Full System Monitoring & Control

Technology Stack

Frontend Technologies

Technology Purpose
React.js (v19) Interactive UI Development
Tailwind CSS Responsive Styling
TanStack Query Data Fetching & Caching
React-Leaflet Map & Geolocation Tracking
Stripe React Payment Gateway UI

Backend Technologies

Technology Purpose
Node.js Server-Side Runtime
Express.js REST API Development
MongoDB NoSQL Database
Firebase Admin Authentication Verification
Stripe Node Secure Payment Processing

Development Tools

  • Visual Studio Code
  • Git & GitHub
  • Vercel (Deployment)
  • Firebase Console
  • MongoDB Atlas

System Architecture

The project follows a modern multi-tier architecture for scalability and maintainability.

Frontend Layer

Handles user interaction, map rendering, API polling, and responsive UI using React.js and Vite.

Backend Layer

Provides RESTful APIs, Firebase token verification, role-based authorization, and business logic using Node.js and Express.js.

Database Layer

Stores structured logistic objects, user profiles, financial logs, and tracking states using MongoDB and Mongoose.


Installation Guide

Prerequisites

Before running the project locally, make sure you have:

  • Node.js 18 or later
  • npm or yarn
  • MongoDB Atlas account or local MongoDB instance
  • Firebase project (for Auth)
  • Stripe account (for payments)
  • Cloudinary account (for imagery)

Setup Steps

  1. Clone the repository.
git clone https://github.com/Murad134/E_Commerce_Platform.git
cd E_Commerse_Project
  1. Install backend dependencies.
cd Backend
npm install
  1. Install frontend dependencies.
cd ../Frontend/E-commerce
npm install
  1. Create the backend environment file.

Create a .env file inside the Backend folder and add the required values.

PORT=3050
DB_URI=YOUR_MONGODB_URI
STRIPE_SECRET_KEY=YOUR_STRIPE_SECRET
CLOUDINARY_CLOUD_NAME=YOUR_CLOUDINARY_CLOUD_NAME
CLOUDINARY_API_KEY=YOUR_CLOUDINARY_API_KEY
CLOUDINARY_API_SECRET=YOUR_CLOUDINARY_API_SECRET
FIREBASE_PROJECT_ID=YOUR_FIREBASE_PROJECT_ID
FIREBASE_CLIENT_EMAIL=YOUR_FIREBASE_CLIENT_EMAIL
FIREBASE_PRIVATE_KEY="YOUR_FIREBASE_PRIVATE_KEY"
  1. Create the frontend environment file.

Create a .env.local file inside Frontend/E-commerce.

VITE_backend_url=http://localhost:3050
VITE_FIREBASE_API_KEY=YOUR_FIREBASE_API_KEY
VITE_FIREBASE_AUTH_DOMAIN=YOUR_FIREBASE_AUTH_DOMAIN
VITE_FIREBASE_PROJECT_ID=YOUR_FIREBASE_PROJECT_ID
VITE_STRIPE_PUBLIC_KEY=YOUR_STRIPE_PUBLIC_KEY

How to Run

Development Mode

Start the backend server.

cd Backend
npm run dev

Start the frontend application.

cd Frontend/E-commerce
npm run dev

Visit:

http://localhost:5173

Production Build

Build the frontend.

cd Frontend/E-commerce
npm run build

Folder Structure

β”œβ”€β”€ Backend/
β”‚   β”œβ”€β”€ config/
β”‚   β”‚   β”œβ”€β”€ cloudinary.js
β”‚   β”‚   β”œβ”€β”€ db.js
β”‚   β”‚   β”œβ”€β”€ firebase.js
β”‚   β”‚   └── stripe.js
β”‚   β”œβ”€β”€ controllers/
β”‚   β”‚   β”œβ”€β”€ parcelController.js
β”‚   β”‚   β”œβ”€β”€ paymentController.js
β”‚   β”‚   β”œβ”€β”€ riderController.js
β”‚   β”‚   β”œβ”€β”€ trackingController.js
β”‚   β”‚   β”œβ”€β”€ uploadController.js
β”‚   β”‚   └── userController.js
β”‚   β”œβ”€β”€ middleware/
β”‚   β”‚   β”œβ”€β”€ verifyAdmin.js
β”‚   β”‚   β”œβ”€β”€ verifyFBToken.js
β”‚   β”‚   └── verifyRider.js
β”‚   β”œβ”€β”€ models/
β”‚   β”‚   β”œβ”€β”€ parcelModel.js
β”‚   β”‚   β”œβ”€β”€ paymentModel.js
β”‚   β”‚   β”œβ”€β”€ riderModel.js
β”‚   β”‚   β”œβ”€β”€ trackingModel.js
β”‚   β”‚   └── userModel.js
β”‚   β”œβ”€β”€ routes/
β”‚   β”‚   β”œβ”€β”€ parcelRoutes.js
β”‚   β”‚   β”œβ”€β”€ paymentRoutes.js
β”‚   β”‚   β”œβ”€β”€ riderRoutes.js
β”‚   β”‚   β”œβ”€β”€ trackingRoutes.js
β”‚   β”‚   β”œβ”€β”€ uploadRoutes.js
β”‚   β”‚   └── userRoutes.js
β”‚   β”œβ”€β”€ utility/
β”‚   β”‚   └── initModels.js
β”‚   β”œβ”€β”€ app.js
β”‚   β”œβ”€β”€ server.js
β”‚   β”œβ”€β”€ package.json
β”‚   └── vercel.json
β”‚
β”œβ”€β”€ Frontend/
β”‚   └── E-commerce/
β”‚       β”œβ”€β”€ public/
β”‚       β”‚   └── districtsData.json
β”‚       β”œβ”€β”€ src/
β”‚       β”‚   β”œβ”€β”€ assets/
β”‚       β”‚   β”œβ”€β”€ Components/
β”‚       β”‚   β”œβ”€β”€ Contexts/
β”‚       β”‚   β”œβ”€β”€ Firebase/
β”‚       β”‚   β”œβ”€β”€ hooks/
β”‚       β”‚   β”œβ”€β”€ Layouts/
β”‚       β”‚   β”œβ”€β”€ Pages/
β”‚       β”‚   β”œβ”€β”€ Router/
β”‚       β”‚   β”œβ”€β”€ routes/
β”‚       β”‚   β”œβ”€β”€ App.css
β”‚       β”‚   β”œβ”€β”€ App.jsx
β”‚       β”‚   β”œβ”€β”€ index.css
β”‚       β”‚   └── main.jsx
β”‚       β”œβ”€β”€ eslint.config.js
β”‚       β”œβ”€β”€ firebase.json
β”‚       β”œβ”€β”€ index.html
β”‚       β”œβ”€β”€ package.json
β”‚       β”œβ”€β”€ README.md
β”‚       └── vite.config.js
β”‚
└── README.md

Security Features

  • Authentication via Firebase Identity
  • Role-Based Authorization Guards (Admin/Rider/User)
  • Protected API Routes via verifyFBToken Middleware
  • Dynamic Payload Validation for Requests
  • Secure Gateway Interfacing (Stripe API)

Real-Time Functionalities

  • Dynamic Data Synchronization via TanStack Query
  • Live Parcel Tracking visually synced onto Leaflet Maps
  • Real-Time Dashboard Analytics (Recharts)
  • Automated status transitions based on Rider input

System Modules

The platform is divided into multiple independent and scalable modules to ensure maintainability, flexibility, and efficient governance of logistics.


Authentication Module

Acts as the entry layer for all roles, facilitating account safety.

Functionalities

  • JWT Sign-ins and State persistence
  • External Identity integrations (Google Login)
  • Token validity checking and Role mapping
  • Admin-backed Privilege Escalations

Customer Interactions Module

Enables the end user to handle their needs effectively.

Functionalities

  • Dynamic Parcel Scheduling (District allocation)
  • Weight-based price estimators
  • Access tracked parcels mapping interfaces
  • User Profile image updates

Rider Operations Module

Manages the core delivery workflow directly affecting systemic logistics.

Functionalities

  • Proximity-based parcel distribution viewing
  • Delivery status patching logic
  • Geo-spatial validation endpoints
  • Payment ledger access and Cashout initiation

System Administrator Module

Provides panoramic oversight over the system’s lifecycle.

Functionalities

  • District-specific Rider assignments
  • Complete Parcel oversight
  • Performance logging and Analytics reporting
  • Payout management for delivery personnel

Payment & Gateway Module

Safely arbitrates financial commitments and histories.

Functionalities

  • Intent Generation for checkout procedures
  • Transaction history aggregation (User and Rider variants)
  • Ledger syncing alongside backend

Database Design & Management

The platform uses MongoDB as the primary operational database via Mongoose ODMs for seamless aggregation logic.

Database Features

  • Scalable NoSQL Document Nodes
  • Referential Integrity modeled in Mongoose schemas
  • Efficient Tracking aggregations and Geo mapping capabilities
  • Secure User Data Management

API & Backend Functionalities

The backend architecture is designed using RESTful architecture.

Backend Features

  • Comprehensive REST routes per system resource
  • Express Middleware implementation (Token checking, Upload interceptions)
  • Separation of Concerns (Routes -> Controllers -> Services/Models)
  • Error Handling & Logging capabilities

Responsive Design

The entire platform interface is carefully crafted entirely within TailwindCSS ensuring high adaptability across resolutions.

Responsive Features

  • Grid/Flex Mobile-First Fallbacks
  • Adaptive Dashboard Sidebar and Drawers
  • Scalable charts and Map canvases
  • Unified Mobile and Desktop workflows

Screenshots

Here is a visual overview of the ProFast application interfaces, showcasing its various modules and features.

πŸ” Authentication

Register Page

Register Page

*A secure registration page for new users to create an account.*

Login Page

Login page

*A simple and intuitive login interface for returning users, riders, and admins.*

🏠 Main Pages

Home Page - Welcome Section

Welcome Section

*The landing page welcoming users with clear calls to action and system highlights.*

Home Page - Service Section

Service Section

*An overview of the core services and delivery features offered by ProFast.*

Home Page - Benefits Section

Benifits Section

*Detailing the key benefits for users choosing our parcel delivery management system.*

Send Parcel Page

Send Parcels page

*A dynamic form allowing users to easily book and schedule new parcel deliveries.*

Available Coverage Area

Available page

*A visual map and list representation of districts where ProFast services are currently active.*

About Us Page

About page

*Information about the ProFast mission, vision, and the team behind the platform.*

πŸ§‘β€πŸ’» User Dashboard

My Parcels

My Percels page

*Users can track their parcel statuses, review delivery history, and take payment actions.*

Payment History

Payment History page

*A comprehensive ledger showing all previous transactions made by the user.*

πŸ›΅ Rider Dashboard

Pending Deliveries

Pending Deliveries page

*Riders can view and manage their newly assigned parcels and update initial statuses.*

Completed Deliveries

Completed Deliveries page

*A log of successfully delivered parcels mapped to the rider's profile.*

Rider Earnings

Rider Earning page

*Riders can track their aggregated delivery earnings and initiate cashout requests.*

πŸ‘‘ Admin Dashboard

Pending Riders

Pending Riders page

*Administrators can review and approve or reject new rider application requests.*

Active Riders

Active Riders page

*An overview list of all currently active riders and their operational metrics.*

Assign Riders

Assign Riders page

*Manually allocate specific unassigned parcels to suitable active delivery riders.*

Make Admin

Make Admin page

*Elevate regular users or riders to administrative roles within the system.*

Future Enhancements

The platform is designed to effortlessly facilitate upgrades in logistics technology.

Planned Improvements

  • OTP & SMS Integration (Twilio/Vonage)
  • Route-Optimization AI for automatic Rider paths
  • International Multi-language support (i18n)
  • PWA / Native Mobile Application iteration
  • In-app dispute and rating systems

Conclusion

The ProFast Parcel Delivery Management System successfully delivers a centralized, scalable, and secure solution for managing logistics networks and shipment handling.

By integrating modern cloud infrastructure, secure real-time workflows, and a refined interface accessible to varied roles, ProFast empowers all aspects of parcel transportation.


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages