We are thrilled to present our final software engineering project, meticulously crafted by William Yanney and Bright Selorm Djogatse for the ALX Software Engineering Program. Throughout the development process, we poured our dedication and expertise into every line of code, ensuring a flawless backend that operates seamlessly and precisely as intended.

While we encountered some challenges on the frontend due to our specialization in backend engineering, we remained steadfast in our commitment to delivering excellence. Despite the looming deadline and the complexities of our frontend development, our determination never wavered.

// the frontend bug has been fixed // yet to style it appropriately Although there may be a few lingering bugs in the frontend, rest assured that we are fully committed to returning to refine and perfect every aspect of this web application. Our dedication to continuous improvement drives us forward, and we are confident that with time and effort, we will overcome any obstacles in our path.

Thank you for the opportunity to showcase our skills and dedication to the craft of software engineering. We look forward to the journey ahead as we continue to grow and evolve in our development journey

B&W Kitchenware

Welcome to B&W Kitchenware! This is a full-stack web application for a virtual kitchen store where users can browse, search, and purchase kitchenware and items. This README will provide an overview of the project, instructions for setup, and details on how to use the application. Table of Contents

Introduction
Features
Technologies Used
Installation
Usage
Contributing
License

Introduction

B&W Kitchenware is aimed at providing users with a convenient platform to explore a wide range of kitchen products and make purchases online. Whether you're looking for cookware, utensils, appliances, or any other kitchen essentials, our platform has got you covered. With a user-friendly interface and seamless browsing experience, shopping for kitchen items has never been easier. Features

User Authentication: Users can sign up, log in, and place orders.
Product Catalog: Browse through a diverse range of kitchen products.
Search Functionality: Easily find specific items using the search feature.
Shopping Cart: Add items to the cart and proceed to checkout.
Order Management: Users can view their order history and status.
Admin Panel: Admin users can manage products, categories, and orders.

Technologies Used

This project is built using the MERN stack with Vite and Mongoose: Frontend

React.js: A JavaScript library for building user interfaces.
Vite: A next-generation front-end tooling for modern web development.
axios: A promise-based HTTP client for making requests to the backend API.
react-router-dom: A collection of navigational components for React applications.

Backend

MongoDB: A NoSQL database used for storing product data and user information.
Express.js: A web application framework for building APIs and handling server-side logic.
Node.js: A JavaScript runtime environment for server-side development.
Mongoose: An Object Data Modeling (ODM) library for MongoDB and Node.js.

Installation

To run this project locally, follow these steps:

Clone the repository: git clone <repository-url>
Navigate to the project directory: cd alx-final_portfolio_project
Install dependencies for both the server and client:
    Server: cd backend && npm install
    Client: cd frontend && npm install
Create a .env file in the server directory and configure environment variables (e.g., MongoDB URI, JWT secret).
Seed the database with sample data (optional): npm run seed
Start the server: npm run server (inside the server directory)
Start the client: npm run dev (inside the client directory)
Access the application in your web browser: http://localhost:5173

Usage

Once the application is up and running, you can:

Sign up for a new account or log in with existing credentials.
Explore the product catalog, search for specific items, and add them to your cart.
Proceed to checkout to place an order.
Admin users can access the admin panel to manage products, categories, and orders.

Contributing

Contributions are welcome! If you'd like to contribute to this project, please follow these guidelines:

Fork the repository
Create a new branch (git checkout -b feature)
Make your changes and commit them (git commit -am 'Add new feature')
Push to the branch (git push origin feature)
Create a new Pull Request

License

This project is licensed under the MIT License.