https://github.com/ashimkayal4/parcel-management-client-side
A parcel management system .The application support multiple users role.
https://github.com/ashimkayal4/parcel-management-client-side
daisyui expressjs firebase jwt-authentication mongodb nodejs react-apexcharts react-router reactjs stripe tailwindcss
Last synced: 3 months ago
JSON representation
A parcel management system .The application support multiple users role.
- Host: GitHub
- URL: https://github.com/ashimkayal4/parcel-management-client-side
- Owner: Ashimkayal4
- Created: 2025-02-05T06:25:58.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-19T07:42:44.000Z (over 1 year ago)
- Last Synced: 2025-04-05T09:15:29.353Z (about 1 year ago)
- Topics: daisyui, expressjs, firebase, jwt-authentication, mongodb, nodejs, react-apexcharts, react-router, reactjs, stripe, tailwindcss
- Language: JavaScript
- Homepage: https://assignment-twelve-16476.web.app/
- Size: 2.19 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# DropZone
## Overview
Parcel Delivery System is a robust web application designed to manage the parcel booking and delivery process. The application supports multiple user roles, including regular users, delivery men, and admins, with features that allow users to book parcels, track deliveries, and leave reviews. Admins can manage all users, parcels, and delivery men through an intuitive dashboard, while delivery men can manage and track their assigned parcels.

## Features
- **User Authentication**: Register and log in using email and password or social login (default user type: User).
- **Parcel Booking**: Users can book parcels, with prices calculated based on parcel weight.
- **Parcel Management**: Users can view their booked parcels, update them, cancel them, or leave a review if delivered.
- **Delivery Men Dashboard**: Delivery men can view and manage their assigned parcels, update status, and view reviews.
- **Admin Dashboard**: Admins can manage all parcels, users, delivery men, and see app usage statistics via charts.
- **Statistics & Charts**: Admin dashboard displays app usage through bar and line charts.
- **Location Tracking**: View parcel delivery locations on a map.
- **Stripe Integration**: Users can pay for parcels via Stripe, with a confetti explosion on successful payments.
- **Light/Dark Mode**: Toggle between light and dark themes.
- **JWT Authentication**: Secure authentication for protected routes.
- **Responsive Design**: Fully responsive, works seamlessly on all devices.
- **Social Login**: Use Google login for fast registration and login.
- **Live side URL**: https://assignment-twelve-16476.web.app/
## Technologies Used
- **Frontend**: React, Tailwind CSS, DaisyUI, React Router, React Hook Forms
- **Backend**: Node.js, Express
- **Database**: MongoDB
- **Authentication**: JWT, Firebase (for storing profile images)
- **Payment System**: Stripe
- **Charts**: React Apex Charts
- **Maps**: React MapGL or React Leaflet
## Run Locally
Clone the project
```bash
git clone https://github.com/Ashimkayal4/parcel-management-client-side.git
```
Go to the project directory
```bash
cd parcel-management-client-side
```
Install dependencies
```bash
npm install
```
## Environment Variables
To run this project, you will need to add the following environment variables to your .env file
- **VITE_apiKey**
- **VITE_authDomain**
- **VITE_projectId**
- **VITE_storageBucket**
- **VITE_messagingSenderId**
- **VITE_appId**
- **VITE_stripe_key**
- **VITE_IMAGE_HOSTING_KEY**
Start the server
```bash
npm run dev
```