This repository is a follow-along project for the Udemy course: Build an E-Commerce App with .NET Core and Angular. The course instructor is the original creator of this project, and I'm currently on Chapter 14 of the course, learning and practicing along the way.
Important: This is not an original project of mine. I am following the course to learn .NET 8 and Angular 18, and this repository contains code and instructions provided by the course instructor.
SkiNet is an e-commerce platform built using:
- Backend: .NET 8
- Frontend: Angular 18
- User Authentication and Authorization: Secure login system with JWT-based authentication.
- Product Catalog: Product browsing with features such as sorting, filtering, and pagination.
- Shopping Cart: Add, remove, and modify items in the cart.
- Database Integration: Uses SQL Server for storing data and Redis for caching.
- Docker Support: Easily set up and run the app with Docker.
As I progress through the course, I will implement additional features, such as payment handling, order management, product reviews, and advanced filtering mechanisms.
To run the project locally, follow the steps provided below. Note that these instructions are directly taken from the course, and any configurations or setup is part of the learning experience.
You need the following tools installed on your machine:
- Docker
- .NET SDK v8
- NodeJS (at least v20.11.1)
- Git
-
Clone the repository:
git clone https://github.com/TryCatchLearn/skinet-2024.git cd skinet-2024
-
Restore the .NET and npm packages:
dotnet restore cd client npm install
-
Configure Stripe settings for payment processing (optional):
- Add your Stripe API keys to a new file
appsettings.json
inside theAPI
folder (see the original repo for more details).
- Add your Stripe API keys to a new file
-
Start the SQL Server and Redis containers:
docker compose up -d
-
Run the API:
cd API dotnet run
-
(Optional) Run the Angular client app:
ng serve
-
Visit the app locally:
- API: https://localhost:5001
- Angular Client: https://localhost:4200 (for development mode)
Since this is a course-based project, contributions are not expected, as I'm solely focused on learning and replicating the instructor's code. However, feel free to follow along if you're taking the same course!