https://github.com/amirhaytham/odds-fe
On-Demand Delivery Service (ODDS)
https://github.com/amirhaytham/odds-fe
fe frontend react reactjs
Last synced: 2 months ago
JSON representation
On-Demand Delivery Service (ODDS)
- Host: GitHub
- URL: https://github.com/amirhaytham/odds-fe
- Owner: AmirHaytham
- Created: 2024-11-19T01:32:00.000Z (11 months ago)
- Default Branch: master
- Last Pushed: 2024-11-19T23:59:02.000Z (11 months ago)
- Last Synced: 2025-08-15T14:02:12.525Z (2 months ago)
- Topics: fe, frontend, react, reactjs
- Language: JavaScript
- Homepage:
- Size: 1.67 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ๐ On Demand Delivery Service
[](https://reactjs.org/)
[](https://tailwindcss.com/)
[](https://www.i18next.com/)
[](https://opensource.org/licenses/MIT)
[](http://makeapullrequest.com)
[](https://github.com/AmirHaytham/ODDS-FE/graphs/commit-activity)
[](https://github.com/AmirHaytham/ODDS-FE/issues)
[](https://github.com/AmirHaytham/ODDS-FE/pulls)
[](https://github.com/AmirHaytham/ODDS-FE/tree/master/.github/workflows)
[](https://prettier.io/)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.
## ๐ธ Screenshots
### Homepage
.png)
- Real-time statistics and driver monitoring
- Quick access to key management features### Admin Dashboard
.png)
- Real-time statistics and driver monitoring
- Quick access to key management features### Driver Portal
.png)
- Active delivery tracking
- Earnings overview and status controls### Driver Dashboard
.png)
- Tracking derveries and earnings and payments### Multi-language Support
.png)
- Arabic interface with RTL support
- Seamless language switching
## ๐ผ Business Overview### For Businesses
- 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### For Drivers
- 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### For Customers
- 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## ๐ Features
### Authentication & Authorization
- 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### Admin Features
- Comprehensive admin dashboard
- Real-time statistics overview
- Driver management system
- Promotion code management
- Driver status monitoring (Online/Busy/Offline)
- Quick action navigation### Driver Features
- Driver-specific dashboard
- Online/Offline status toggle
- Current delivery tracking
- Earnings overview
- Delivery history
- Navigation integration
- Rating system display### User Features
- User dashboard
- Order tracking
- Order history
- Profile management
- Real-time order status### Internationalization
- Dual language support (English & Arabic)
- RTL/LTR layout support
- Language persistence
- Dynamic content translation
- Number and currency formatting### UI/UX Features
- 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## ๐ Tech Stack
### Core
- React 18
- React Router v6 (with protected routes)
- Tailwind CSS for styling
- i18next for internationalization### State Management
- React Context API for:
- Authentication state
- User preferences
- Language settings
- localStorage for persistence
- Custom hooks for shared logic### Development Tools
- Create React App
- ESLint
- Prettier
- React Developer Tools## ๐ Project Structure
```
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
```## ๐ Getting Started
### Prerequisites
- Node.js (v14 or higher)
- npm or yarn### Installation
1. Clone the repository:
```bash
git clone https://github.com/AmirHaytham/ODDS-FE.git
```2. Install dependencies:
```bash
npm install
# or
yarn install
```3. Create environment variables:
```bash
cp .env.example .env
```4. Start the development server:
```bash
npm start
# or
yarn start
```## ๐ Environment Variables
```env
REACT_APP_API_URL=your_api_url
REACT_APP_GOOGLE_MAPS_KEY=your_google_maps_key
```## ๐งช Testing
Run the test suite:
```bash
npm test
# or
yarn test
```## ๐ Building for Production
```bash
npm run build
# or
yarn build
```
## ๐งช Test AccountsUse these credentials to test different user roles:
### Admin Account
```
Email: admin@odds.com
Password: admin123
```### Driver Account
```
Email: driver@odds.com
Password: driver123
```### User Account
```
Email: user@odds.com
Password: user123
```Note: These accounts are for testing purposes only. In production, please use secure credentials.
## ๐ค Contributing
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request## ๐ License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.