website link - https://sugaryy.netlify.app
-
Basic Features:
- Google login integration.
- User registration with email verification.
- Password recovery and reset functionality.
- Protected routes for secure access to features like adding to cart, placing orders, and managing user profiles.
-
Admin Dashboard:
- Upload menu items with image support using ImgBB.
- View and manage orders.
- Pagination support for menus and orders.
- Admin-specific navigation for managing the platform.
-
User Experience:
- Smooth navigation with login/logout.
- Add, view, and remove items from the cart.
- Order items with date and time tracking.
- Search functionality for menu items.
- Display menu item details.
- Local storage support for persisting cart data.
- Easy location tracking for order deliveries.
-
UI Enhancements:
- Input box styling with theme color.
- Responsive design with gap and justified content centered.
- Modals for displaying additional information.
-
Third-Party Libraries:
- Carousel: Implemented with
react-slick
andslick-carousel
. - Animations: Added using
react-awesome-reveal
.
- Carousel: Implemented with
- Email Verification: Users must verify their email to log in.
- Token Management: User tokens are securely stored on login.
- Admin and Customer Accounts: Distinct roles with tailored navigation and permissions.
To get started with the frontend:
-
Clone the repository:
git clone https://github.com/Nisha0202/sugary/tree/main/client cd client
-
Install NPM packagess:
npm install
-
Start the development server:
npm run dev
To set up the backend:
-
Clone the repository:
git clone https://github.com/Nisha0202/sugary/tree/main/backend cd backend
-
Install NPM packages
npm install
-
Set up your environment variables in a
.env
file:MONGO_URI=your-mongodb-connection-string JWT_SECRET=your-jwt-secret
-
Start the backend server:
nodemon .index.js
- Admin Email:
[email protected]
- Admin Password:
11111
- Customer Email:
[email protected]
- Customer Password:
12345
- Frontend: React, React Router, Tailwind CSS
- Backend: Node.js, Express.js, MongoDB, Mongoose
- Authentication: JWT, bcrypt
- Image Hosting: ImgBB
- Admin Dashboard: Admins can upload new menu items, manage existing ones, and track orders.
- Customer Experience: Customers can browse the menu, add items to their cart, and place orders.
- Order Management: View past orders and track their status.
- Search and Filter: Easily find items through search and filter options.