Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yasminmuntasern/cake-delivery
π Cake Delivery System | A full-featured cake delivery platform, built with .NET for the backend and React for the frontend. Customers can browse cakes by category, customize their orders, and securely checkout with automated location detection via Leaflet. Admins can manage cakes, categories, and customers
https://github.com/yasminmuntasern/cake-delivery
api-rest csharp net react react-hooks react-router redux sql-server tailwindcss
Last synced: about 16 hours ago
JSON representation
π Cake Delivery System | A full-featured cake delivery platform, built with .NET for the backend and React for the frontend. Customers can browse cakes by category, customize their orders, and securely checkout with automated location detection via Leaflet. Admins can manage cakes, categories, and customers
- Host: GitHub
- URL: https://github.com/yasminmuntasern/cake-delivery
- Owner: YasminMuntaserN
- Created: 2024-09-16T09:21:47.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-11-04T17:59:33.000Z (2 months ago)
- Last Synced: 2024-11-13T03:33:20.663Z (2 months ago)
- Topics: api-rest, csharp, net, react, react-hooks, react-router, redux, sql-server, tailwindcss
- Language: C#
- Homepage:
- Size: 10.1 MB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# π° Cake Delivery Website
## π Introduction
The Cake Delivery App is a full-stack web application built using .NET 0.8 for the backend, Web APIs, SQL for database management, and React for the frontend. The app enables customers to browse a catalog of cakes, customize orders, and place secure orders with automated location detection. The system also includes an admin panel for managing cakes, categories, customers, and users, providing a smooth experience for both customers and administrators.
## π Features
### Customer App
- **Cake Catalog**
Customers can explore a wide range of cakes organized by categories, making it easy to find the perfect cake.
- **Order Customization**
Customers can personalize their orders by selecting specific cake sizes and quantities, then add these customized cakes to their shopping cart for easy management before checkout.
- **Location Auto-Detection**
With Leaflet React integration, the app automatically detects customer location during checkout, simplifying the process by eliminating the need to manually enter addresses, especially useful for mobile users.
- **Secure Checkout**
The checkout process gathers essential customer contact details, payment information, and confirms the auto-detected delivery address, ensuring a smooth and secure ordering experience.
- **Feedback System**
After completing an order, customers are invited to leave feedback on their experience. These reviews are displayed on the homepage, allowing new visitors to view real testimonials from other customers.- **Dynamic Homepage**
- **Recently Added Cakes**: Highlights the newest additions to the catalog, encouraging customers to return and explore fresh options.
- **Customer Feedback & Testimonials**: Displays real feedback from customers, adding credibility and helping new users make informed decisions.
- **Contact Information**: Essential contact details are prominently displayed, making it easy for customers to reach out with questions or special requests.
### π Admin Panel
- **Admin Login Page**
Provides secure login access to the admin panel, ensuring that only authorized users can manage the appβs data and functionalities.
- **Dashboard Overview**
The admin dashboard provides a quick summary of sales for the week, allowing administrators to see business performance metrics at a glance, identify trends, and make data-driven decisions.
- **Cake Management**
A dedicated Cakes page gives admins the ability to view, add, update, or remove cakes from the catalog.
Stock Quantity Control: Admins can adjust the quantity of each cake in stock to ensure accurate availability for customers.
- **Category Management**
The Categories page organizes cakes into classifications (e.g., birthday, anniversary, weedings ..), making the catalog easy for customers to navigate. Admins can add new categories, edit existing ones, or delete outdated ones.
- **Customer Management**
Admins can access a complete list of customers who have placed orders, providing insight into customer behavior and allowing them to address any account-specific inquiries or issues.
- **User Management**
Admins can create new user accounts for additional staff members, manage existing user information, and update email addresses or reset passwords when needed, ensuring smooth and secure system operation.
## π οΈTechnologies Used
### Database
- **Database: Microsoft SQL Server with ADO.NET.**
### Frontend
- **Build Tool: Vite for efficient project building.**
- **React Query : for remote state management & data fetching.**
- **Context API for UI state management.**
- **React Router : to implement routing.**
- **TailwindCSS: for styling.**
- **React Hook Form for managing forms.**
- **Recharts : library for charts to show statistics.**
- **react-hot-toast : for toast notifications.**
- **react-icons : for UI icons.**
### backend
- **Controllers:**
- Organize and handle HTTP requests for resources (e.g., Cakes, Orders).
- Define CRUD actions via HTTP methods (GET, POST, PUT, DELETE).- **Models/DTOs:**
- Define data structures to streamline client-server data transfer.- **HTTP Methods:**
- GET: Retrieve resources (e.g., list of cakes).
- POST: Create new resources (e.g., submit an order).
- PUT: Update existing resources (e.g., modify cake details).
- DELETE: Remove resources (e.g., delete a cake).- **Status Codes:**
- 200 OK: Successful data retrieval/update.
- 201 Created: Resource creation successful.
- 204 No Content: Resource deleted successfully.
- 400 Bad Request: Invalid data received.
- 404 Not Found: Resource does not exist.- **Validation:**
- Ensures incoming data is accurate and secure.
- Model attributes and custom logic enforce data requirements.
## π Live Demo
πclick me π!