A comprehensive delivery management solution designed to streamline logistics operations and enhance customer experience. This platform connects businesses, drivers, and customers in a seamless ecosystem for efficient delivery services.
- Real-time statistics and driver monitoring
- Quick access to key management features
- Real-time statistics and driver monitoring
- Quick access to key management features
- Active delivery tracking
- Earnings overview and status controls
- Tracking derveries and earnings and payments
- Arabic interface with RTL support
- Seamless language switching
- Reduce operational costs through efficient route optimization
- Real-time tracking and analytics for better decision making
- Automated dispatch system to minimize manual intervention
- Customizable promotion system to drive customer engagement
- Comprehensive reporting for business insights
- Driver performance monitoring and management
- Flexible working hours with easy status management
- Clear earnings visibility and performance metrics
- Optimized route suggestions for efficient deliveries
- Built-in navigation and delivery instructions
- Simple order acceptance and completion workflow
- Performance-based incentive tracking
- Real-time order tracking and status updates
- Multiple payment options for convenience
- Delivery time estimates based on real-time conditions
- Order history and reordering capabilities
- Rating and feedback system
- Special offers and promotional discounts
- Multi-role authentication (Admin, Driver, User)
- Protected routes based on user roles
- Mock authentication system for development
- Persistent login state using localStorage
- Role-based redirections
- Registration with validation
- Comprehensive admin dashboard
- Real-time statistics overview
- Driver management system
- Promotion code management
- Driver status monitoring (Online/Busy/Offline)
- Quick action navigation
- Driver-specific dashboard
- Online/Offline status toggle
- Current delivery tracking
- Earnings overview
- Delivery history
- Navigation integration
- Rating system display
- User dashboard
- Order tracking
- Order history
- Profile management
- Real-time order status
- Dual language support (English & Arabic)
- RTL/LTR layout support
- Language persistence
- Dynamic content translation
- Number and currency formatting
- Responsive design with Tailwind CSS
- Loading states and spinners
- Error handling and messages
- Form validation
- Breadcrumb navigation
- Card-based layouts
- Status indicators
- Interactive buttons
- Clean and modern design
- React 18
- React Router v6 (with protected routes)
- Tailwind CSS for styling
- i18next for internationalization
- React Context API for:
- Authentication state
- User preferences
- Language settings
- localStorage for persistence
- Custom hooks for shared logic
- Create React App
- ESLint
- Prettier
- React Developer Tools
delivery-platform-frontend/
βββ public/
β βββ favicon.ico
β βββ index.html
β βββ logo192.png
β βββ logo512.png
β βββ manifest.json
β βββ robots.txt
β
βββ src/
β βββ components/
β β βββ common/
β β β βββ buttons/
β β β β βββ Button.jsx
β β β β βββ IconButton.jsx
β β β β βββ ToggleButton.jsx
β β β βββ forms/
β β β β βββ Input.jsx
β β β β βββ Select.jsx
β β β β βββ Checkbox.jsx
β β β βββ layout/
β β β β βββ Card.jsx
β β β β βββ Container.jsx
β β β β βββ Grid.jsx
β β β βββ ui/
β β β βββ Badge.jsx
β β β βββ Spinner.jsx
β β β βββ Alert.jsx
β β β
β β βββ admin/
β β β βββ dashboard/
β β β β βββ StatisticsCard.jsx
β β β β βββ DriversList.jsx
β β β β βββ RevenueChart.jsx
β β β βββ management/
β β β βββ DriverManagement.jsx
β β β βββ PromoCodeManager.jsx
β β β
β β βββ driver/
β β β βββ dashboard/
β β β β βββ DeliveryMap.jsx
β β β β βββ EarningsCard.jsx
β β β β βββ StatusToggle.jsx
β β β βββ delivery/
β β β βββ DeliveryDetails.jsx
β β β βββ NavigationCard.jsx
β β β
β β βββ user/
β β βββ orders/
β β β βββ OrderCard.jsx
β β β βββ OrderHistory.jsx
β β β βββ TrackingMap.jsx
β β βββ profile/
β β βββ ProfileCard.jsx
β β βββ AddressBook.jsx
β β
β βββ context/
β β βββ AuthContext.jsx
β β
β βββ data/
β β βββ testAccounts.js
β β
β βββ locales/
β β βββ en.json
β β βββ ar.json
β β
β βββ pages/
β β βββ admin/
β β β βββ Dashboard.jsx
β β β βββ DriversManagement/
β β β β βββ DriversList.jsx
β β β β βββ DriverDetails.jsx
β β β β βββ AddDriver.jsx
β β β βββ Orders/
β β β β βββ OrdersList.jsx
β β β β βββ OrderDetails.jsx
β β β βββ Promotions/
β β β β βββ PromotionsList.jsx
β β β β βββ CreatePromotion.jsx
β β β β βββ EditPromotion.jsx
β β β βββ Settings/
β β β β βββ GeneralSettings.jsx
β β β β βββ SecuritySettings.jsx
β β β β βββ NotificationSettings.jsx
β β β βββ Reports/
β β β βββ FinancialReports.jsx
β β β βββ DriverReports.jsx
β β β βββ OrderReports.jsx
β β β
β β βββ driver/
β β β βββ Dashboard.jsx
β β β βββ ActiveDelivery.jsx
β β β βββ DeliveryHistory.jsx
β β β βββ Earnings/
β β β β βββ EarningsSummary.jsx
β β β β βββ PaymentHistory.jsx
β β β βββ Profile/
β β β β βββ PersonalInfo.jsx
β β β β βββ VehicleInfo.jsx
β β β β βββ Documents.jsx
β β β βββ Settings/
β β β βββ AccountSettings.jsx
β β β βββ PreferenceSettings.jsx
β β β
β β βββ user/
β β β βββ Dashboard.jsx
β β β βββ HomePage.jsx
β β β βββ Orders/
β β β β βββ PlaceOrder.jsx
β β β β βββ OrderTracking.jsx
β β β β βββ OrderHistory.jsx
β β β β βββ OrderDetails.jsx
β β β βββ Profile/
β β β β βββ PersonalInfo.jsx
β β β β βββ AddressBook.jsx
β β β β βββ PaymentMethods.jsx
β β β βββ Settings/
β β β βββ AccountSettings.jsx
β β β βββ NotificationPreferences.jsx
β β β βββ SecuritySettings.jsx
β β β
β βββ auth/
β β β βββ Login.jsx
β β β βββ Register.jsx
β β β βββ ForgotPassword.jsx
β β β βββ ResetPassword.jsx
β β β
β β βββ common/
β β βββ NotFound.jsx
β β βββ ServerError.jsx
β β βββ Maintenance.jsx
β β
β βββ App.css
β βββ App.test.js
β βββ index.css
β βββ index.js
β βββ logo.svg
β βββ reportWebVitals.js
β βββ setupTests.js
β
βββ .gitignore
βββ README.md
βββ tailwind.config.js
βββ webpack.config.js
- Node.js (v14 or higher)
- npm or yarn
- Clone the repository:
git clone https://github.com/AmirHaytham/ODDS-FE.git
- Install dependencies:
npm install
# or
yarn install
- Create environment variables:
cp .env.example .env
- Start the development server:
npm start
# or
yarn start
REACT_APP_API_URL=your_api_url
REACT_APP_GOOGLE_MAPS_KEY=your_google_maps_key
Run the test suite:
npm test
# or
yarn test
npm run build
# or
yarn build
Use these credentials to test different user roles:
Email: [email protected]
Password: admin123
Email: [email protected]
Password: driver123
Email: [email protected]
Password: user123
Note: These accounts are for testing purposes only. In production, please use secure credentials.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.