# About The Project
[![Product Name Screen Shot][product-screenshot]](https://lab.skynetinc.tech/WorldDrknss/Sky.Net)
Proof of concept e-commerce store using Angular, .Net Core and Stripe for payment processing
* .Net Core
* Angular
* C# Generics
* Repository and Unit of Work Pattern
* Specification Pattern
* Caching
* Angular Lazy loading
* Angular Routing
* Angular Reactive Forms
* Angular Creating a MultiStep form wizard
* Accepting payments using Stripe
* Angular Re-usable form components
* Angular validation and async validation
# Getting Started
To get a local copy up and running follow these simple example steps.
### Prerequisites
This is an example of how to list things you need to use the software and how to install them.
* Docker
```sh
https://www.docker.com/
```
* .NET Core
```sh
https://dotnet.microsoft.com/
```
* npm
```sh
npm install npm@latest -g
```
* Angular
```sh
npm install -g @angular/cli
```
### Installation
1. Clone the repo
```sh
git clone https://lab.skynetinc.tech/WorldDrknss/Sky.Net.git
```
2. Setup Docker Containers: Configurations can be changed in `docker-compose.yml`
```sh
docker compose
```
3. Install NPM packages
```sh
cd client
npm install
ng serve
```
4. Restore .NET
```sh
cd API
dotnet restore -f
dotnet run
```
5. Add the following in API / `appsettings.development.json`
```js
"Token": {
"Key": "",
"Issuer": ""
},
"ApiUrl": ""
```
6. Add Stripe Information to API / `appsettings.json`
```js
"StripeSettings": {
"PublishableKey": "",
"SecretKey": ""
},
```
6. Update API / Controllers / `PaymentsController.cs` with your Strip Webhook Secret
```js
private const string WhSecret = ""
```