This is the Client Repo of PoshFoods-Server
PoshFoods is a responsive and modern web application built for managing grocery services and enhancing the shopping experience. Users can browse and purchase products, manage their orders, and provide feedback through reviews. Administrators can manage products, monitor orders, and assign roles within the platform. The project is designed to be user-friendly with features tailored for both users and administrators.
PoshFoods is a grocery marketplace that aims to offer users a seamless shopping experience. This project focuses on improving the UI/UX and functionality of the platform, including a personalized dashboard for users, product reviews, and efficient order management for administrators.
Check out the live version of the app: PoshFoods Live Demo
- Responsive Design: Optimized for mobile and desktop views.
- User Authentication: Secure login and registration system.
- Product Management: Allows admins to add, edit, and delete grocery products.
- User Dashboard: Displays orders, allows users to rate and review delivered products.
- Admin Dashboard: Manage product inventory and handle order status changes.
- Redux Persist: User cart persists across sessions, even after reloading the page.
- SEO Optimizations: Dynamic meta tags for improved search engine discoverability.
- React: JavaScript library for building user interfaces.
- Next.js: React framework with features like server-side rendering.
- Redux Toolkit: For global state management and persisting user data.
- TypeScript: Enhances JavaScript with static typing.
- Tailwind CSS: Utility-first CSS framework for styling.
- Next Themes: Allows dark and light mode switching.
- Axios: For API requests.
- Toastify: For displaying success and error messages.
- Allows users to register and securely log in using their email and password.
- Displays orders with status updates (pending/delivered).
- Users can provide ratings and reviews for delivered products.
- Provides full control over product listings.
- Admins can add/edit/delete products, view orders, and change order statuses.
- Lists grocery items such as vegetables, fruits, and bakery items.
- Users can add products to their cart and proceed to checkout.
- Shows detailed product information and allows users to add products to their cart.
- Users can review products directly from this page.
- Allows users to finalize their purchase with a default "Cash on Delivery" option.
- Dark/Light Mode: Users can switch between light and dark mode for a better viewing experience.
- Reviews: Reviews can be posted from the product detail page by user.
Ensure you have the following installed:
- Node.js (>= 14.x)
- npm or yarn
- Clone the repository:
git clone https://github.com/mdiibrahim/PoshFoods-Client.git cd PoshFoods - Install dependencies:
npm install # or yarn install - Run the development server:
The application will be available at
npm run dev # or yarn devhttp://localhost:3000.
npm run build
# or
yarn buildWe welcome contributions! Please follow these steps to contribute:
- Fork the repository.
- Create a feature branch:
git checkout -b feature/your-feature-name. - Commit your changes:
git commit -m "Add some feature". - Push to the branch:
git push origin feature/your-feature-name. - Submit a pull request.
I would like to express my gratitude to all the open-source contributors who helped shape this project through their invaluable contributions, to the creators of NextJs, React, Redux Toolkit, Tailwind CSS, Vite, DaisyUI, and Axios for providing the powerful tools and libraries that made this application possible. Special thanks to GitHub for offering a platform that facilitates collaboration and project management. I am also deeply thankful to my mentors, friends, and family for their unwavering support and encouragement throughout the development process. This project would not have been possible without the collective effort and dedication of everyone involved.
This project is licensed under the MIT License - see the LICENSE file for details.
For further information, please reach out to E-mail.