ReStore is a modern e-commerce web application built with ASP.NET Web API and React. It allows users to browse products, add them to the cart, and complete their purchases through Stripe payments. The application includes features like authentication, order management, discount codes, admin inventory management, and more.
- Browse products with search, filtering, and pagination.
- View product details on a separate product page.
- Add products to the cart directly from the catalog or product page.
- View cart items with the ability to increase, decrease, or remove items.
- Checkout process with address input, payment via Stripe, and order summary.
- Discount codes applied at checkout (managed via Stripe).
- Orders are processed with Stripe webhooks for real-time payment status updates.
- Users can view their order history.
- Register & login to place orders.
- IdentityUser with cookie-based authentication.
- Profile page to update profile image, email, and password.
- Logout functionality.
- Admins can create, update, and delete products via the inventory page.
- Product images are uploaded using Cloudinary.
- Secure role-based access for admin functionalities.
- Modern design with Material UI.
- Dark mode support.
- Toast notifications for user interactions.
- Smooth navigation with React Router.
- Entity Framework Core for database management.
- SQL Server for data storage.
- Cloudinary for image uploads.
- Stripe for payment processing.
- Middleware for exception handling & security.
- DTOs for optimized data transfer.
- Redux Toolkit & RTK Query for state management.
- React Hook Form for form handling.
- Zod Schema for form validation.
- React Router for navigation.
- Material UI for a beautiful UI.
- React Dropzone for file uploads.
- JS Cookie for cookie management.
- Toastify for user notifications.
- Redux Persist for persisting state.
git clone https://github.com/aleksandromilenkov/Restore.git
cd reStorecd backend
# Install dependencies
dotnet restore
# Apply migrations
dotnet ef database update
# Run the API
dotnet runcd frontend
# Install dependencies
yarn install # or npm install
# Start the React app
npm run dev- β Product catalog with search & filtering
- β Shopping cart functionality
- β User authentication & profile management
- β Checkout & payment with Stripe
- β Order management
Contributions are welcome! Feel free to fork the repository and submit a pull request.
This project is licensed under the MIT License.
For inquiries or collaboration, contact me at aleksandro.macedonia@gmail.com.