This frontend expects a running backend at:
β‘οΈ http://<BACKEND_HOST>:5000
β For example, start the backend like this:
git clone https://github.com/CodeWizard2001/dummyBackendWebShop.git
cd dummyBackendWebShop
docker build -t webshop-backend .
docker run -p 5000:5000 webshop-backend
docker build -t webshop-frontend .
docker run -p 8080:80 webshop-frontend
The app will then be accessible at:
β‘οΈ http://<FRONTEND_HOST>:3000
Replace <FRONTEND_HOST>
with, for example:
localhost
(on your local machine)192.168.x.x
(for LAN access, e.g., via mobile phone)host.docker.internal
(for Docker-internal access)
If the backend is accessible at a specific IP or domain (e.g., in a LAN or on a server), you can set the API URL via an environment variable:
docker run -p 8080:80 -e VITE_API_URL=http://<BACKEND_HOST>:5000 webshop-frontend
β‘οΈ Replace <BACKEND_HOST>
with, for example, 192.168.178.118
, api.meine-seite.de
or host.docker.internal
(for host access on Desktop).
β‘οΈ The frontend will then use this API address on startup (works with import.meta.env.VITE_API_URL
in the code).
Frontend:
- React (with TypeScript, Vite)
- Tailwind CSS, React-Bootstrap (Styling)
- Lucide, FontAwesome (Icons)
- Recharts (Data Visualization)
- Axios (HTTP Client)
Backend:
- Python Backend
- dummyBackendWebShop
frontend_development/
βββ src/
β βββ App.tsx
β βββ index.css
β βββ main.tsx
β βββ assets/
β β βββ my-logo.svg
β β βββ css/
β β βββ _layout.css
β β βββ _reset.css
β β βββ _typography.css
β β βββ main.css
β βββ auth/
β β βββ AuthContext.tsx
β β βββ useAuth.ts
β βββ Components/
β β βββ NoPage.tsx
β β βββ Admin_Components/
β β β βββ Header.tsx
β β β βββ Sidebar.tsx
β β β βββ StatCard.tsx
β β β βββ ToggleTheme.tsx
β β β βββ account/
β β β β βββ AccountAside.tsx
β β β βββ charts/
β β β β βββ CategoryDistributionChart.tsx
β β β β βββ SalesChannelChart.tsx
β β β β βββ SalesOverviewChart.tsx
β β β β βββ SalesTrendChart.tsx
β β β β βββ UserActivityHeatmap.tsx
β β β β βββ UserGrowthChart.tsx
β β β βββ form-functionalities/
β β β β βββ AddCustomerForm.tsx
β β β β βββ AddProductForm.tsx
β β β β βββ EditCustomerForm.tsx
β β β β βββ EditProductForm.tsx
β β β βββ settings/
β β β β βββ AccessibilitySettings.tsx
β β β β βββ AutosaveSettings.tsx
β β β β βββ DataManagementSettings.tsx
β β β β βββ DateTimeFormatSettings.tsx
β β β β βββ DefaultFileLocationSettings.tsx
β β β β βββ ExportDataSettings.tsx
β β β β βββ LanguageSettings.tsx
β β β β βββ Profile.tsx
β β β β βββ SettingSection.tsx
β β β β βββ TimezoneSettings.tsx
β β β β βββ ToggleSwitch.tsx
β β β βββ tables/
β β β βββ CustomersTable.tsx
β β β βββ ProductsTable.tsx
β β βββ Auth/
β β β βββ ProtectedRoute.tsx
β β βββ Main_Components/
β β β βββ Navbar/
β β β β βββ navbar.css
β β β β βββ Navbar.tsx
β β β βββ productCard/
β β β βββ ProductCard.tsx
β βββ contexts/
β β βββ CartContext.tsx
β β βββ ThemeContext.tsx
β βββ Layout/
β β βββ AdminAccountLayout.tsx
β β βββ AdminLayout.tsx
β β βββ MainLayout.tsx
β βββ Pages/
β β βββ Admin/
β β β βββ CustomersPage.tsx
β β β βββ OverviewPage.tsx
β β β βββ ProductsPage.tsx
β β β βββ SettingsPage.tsx
β β β βββ Account/
β β β βββ AccountPage.tsx
β β β βββ DeleteAccountPage.tsx
β β β βββ NotificationsPage.tsx
β β β βββ PasswordPage.tsx
β β β βββ ProfileSettingsPage.tsx
β β β βββ SocialPage.tsx
β β βββ Main/
β β β βββ Cart/
β β β β βββ cart.tsx
β β β βββ ForgotPassword/
β β β β βββ ForgotPasswordPage.tsx
β β β βββ Home/
β β β β βββ home.css
β β β β βββ Home.tsx
β β β βββ Login/
β β β β βββ Login.tsx
β β β βββ ProductDetails/
β β β β βββ ProductDetails.tsx
β β β βββ ProductList/
β β β β βββ ProductListPage.tsx
β β β βββ Register/
β β β βββ Register.tsx
β βββ services/
β β βββ api.ts
β βββ types/
β βββ index.ts
- Clone the repository:
`git clone <REPO_URL>`
- Navigate to the project directory:
`cd <PROJECT_FOLDER>`
- Install dependencies:
`npm install`
- Start the development server:
`npm run dev`
The following features define the core and extended functionality of our webshop.
- Product Search and Filters: Users can search for products using keywords and filter by categories, price range, or other attributes.
- Shopping Cart: Allows users to add products, update quantities, and remove items. A live total cost is shown and updated dynamically.
- Checkout Process: A guided, multi-step form to collect shipping and payment information. Ends with an order confirmation page.
- Responsive Design: Full support for both mobile and desktop views, ensuring a smooth and consistent experience across devices.
- Light/Dark Mode Toggle: Users can switch between light and dark themes for improved visual comfort.
- User Authentication: Includes user sign-up, login, and personalized account management.
- Admin Dashboard: Admins can manage products (CRUD operations).
- Wishlist / Favorites: Allows users to save products for later or mark as favorites.
- Product Reviews and Ratings: Enables users to leave product reviews and ratings for community feedback.
- Multi-language Support: Adds support for multiple languages using localization files.
These features are currently not planned for the initial release but represent potential areas for future development and enhancement.
- Payment Gateway Integration: Integration with popular payment gateways (e.g., Stripe, PayPal) for more robust payment processing.
- Order History and Tracking: Users can view their past orders and track the status of current shipments.
- User Profiles and Personalization: More extensive user profiles with personalized recommendations based on Browse history and past purchases.
- Newsletter Subscription: Allows users to subscribe to email newsletters for updates and promotions.
- Discount Codes and Promotions: Functionality for applying discount codes and managing promotional offers.
- Inventory Management: Advanced features for tracking product stock and managing inventory levels for administrators.
- Customer Support Chatbot: Integration of an AI-powered chatbot for instant customer support.
- Social Media Sharing: Users can easily share products on their social media platforms.
- Seller Accounts: Ability for multiple sellers to list and manage their products (if applicable to the business model).
- Advanced Analytics Dashboard: More comprehensive analytics for administrators, including sales trends, popular products, and user engagement.
This section explains the different types of users who interact with our e-commerce webshop, their permissions, and the actions they can typically perform.
The Administrator oversees the overall management of the webshop. This role has the highest level of access and can modify nearly every aspect of the site.
Typical Actions and Expected Outcomes:
- The admin can add, update, and remove products from the catalog; any changes are instantly visible to customers. For example, the admin might add a new product, such as wireless headphones, with a price of 129.99 β¬.
- The admin can also manage user accounts β such as viewing user information or deleting accounts if it's needed.
Customers are users who have registered an account on the webshop. They can explore products, place orders, and manage their personal details and order history.
Typical Actions and Expected Outcomes:
- Customers can browse all available products, read detailed descriptions, and check their prices.
- They can also use the search bar or apply filters, such as by category, to narrow down the results.
- Add products to the shopping cart for quick purchase.
- Can proceed to checkout, choose a payment method, and complete their order easily.
- Update personal information, including name, email, and password.
A guest user can browse the webshop without creating an account, though their access is limited.
Typical Actions and Expected Outcomes:
- Can browse the products without logging in.
- Can register or Sign In.
- Can add products to the cart, but the cart will remain active only while they are on the website. Once they leave, everything will be removed. The users must have an account to purchase the products otherwise it will be not possible.
Here are some screenshots showcasing different aspects of the webshop application.
Β Β Β Β Β Β Β Β Β Β Β Β Β
Β Β Β Β Β Β Β Β Β
For more screenshots and visual representations of the project's look and feel, please check the assets/screenshots
and Mockup/pictures
directories.
Webshop.mp4
Link for the video: Webshop
This project is licensed under the MIT License. For more details, please refer to the file: LICENSE.