Welcome to the E-Commerce Application! This project is a fully functional e-commerce platform designed to demonstrate modern software development techniques and provide a seamless shopping experience for users.
- User registration and login system.
- Role-based authorization for buyers and admins.
- Dynamic shopping cart functionality.
- Seamless checkout process with Stripe payment integration.
- Refund management through the admin panel.
- Order history accessible by both buyers and admins with role-specific views.
- Manage orders with refund capabilities using Stripe.
- View and process all orders with advanced accessibility controls.
- Platform: .NET 8
- Database Access: Entity Framework Core (EF Core)
- Caching: Redis
- Design Patterns:
- Generic Repository
- Unit of Work
- Specification Pattern
- Real-Time Communication: SignalR
- Payment Integration: Stripe
- Exception Handling: Robust centralized error management
- Caching: Optimized for performance using Redis
- Role-Based Authorization: Secure user access levels
- Database: SQL Server
- Platform: Angular 18
- UI Framework: Tailwind CSS
- Material Design: Angular Material
- Error Handling: Centralized and user-friendly error notifications
- Real-Time Updates: SignalR integration
- Payment Integration: Stripe
- Performance Enhancements:
- HTTP Interceptors
- Lazy Loading Modules
- Registration & Login: Users can register and log in to access the app.
- Product Selection: Browse and select products.
- Shopping Cart: Add selected products to the cart.
- Checkout: Complete the purchase via Stripe.
- Order History: View past orders with detailed information.
- Login: Admins access a secured admin panel.
- Order Management: View all orders with full details.
- Refund Processing: Manage refunds seamlessly through Stripe.
- .NET 8 SDK
- Node.js and npm
- Redis
- Angular CLI
- SQL Server
- Clone the repository.
- Navigate to the backend folder:
cd backend
- Restore dependencies:
dotnet restore
- Update the appsettings.json with your Stripe, Redis, and SQL Server configurations.
- Run the application:
dotnet run
- Navigate to the frontend folder:
cd frontend
- Install dependencies:
npm install
- Update environment files with Stripe configurations.
- Start the development server:
ng serve
Follow your preferred deployment strategy for .NET and Angular applications. Ensure Redis and SQL Server are configured correctly and Stripe keys are securely stored in environment variables.
This project is inspired by the Udemy course: Learn to Build an E-Commerce App with .NET Core and Angular by Neil Cummings.
- Add product reviews and ratings.
- Add Inventory system
- Add Email service
- Implement advanced analytics in the admin panel.
- Add multi-language support.
This project is licensed under the MIT License. See the LICENSE file for more details.
Feel free to contact me if you're interested in collaborating or discussing job opportunities!