Skip to content

mohyeDev/skinet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

152 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Skinet – E-Commerce Web App

An advanced e-commerce application built using ASP.NET Core Web API for the backend and Angular for the frontend. The app includes a fully functional online store with user authentication, product filtering, cart, payments with Stripe, and more.


🚀 Features

Backend (.NET Core)

  • ASP.NET Core 7+ Web API
  • Entity Framework Core with SQL Server
  • Repository + Unit of Work pattern
  • JWT Authentication + Refresh Tokens
  • Google Login integration
  • Stripe Payment Integration
  • Caching with Redis
  • Specification Pattern for queries
  • Swagger API documentation
  • Health Checks + MiniProfiler
  • Logging with Serilog
  • FluentValidation for model validation
  • Seed data for testing

Frontend (Angular)

  • Angular 15+
  • JWT Auth with interceptors
  • Google Login with OAuth2
  • Lazy-loaded modules
  • Angular Forms (Reactive)
  • Ngx-spinner, Toastr, Image Cropper
  • Stripe integration for checkout
  • Filtering, sorting, and pagination
  • Fully responsive UI

📦 Requirements


⚙️ Setup Instructions

1. Clone the repo

git clone https://github.com/mohyeDev/skinet.git
cd skinet

2. Restore dependencies

dotnet restore
cd client
npm install

3. Start Docker (SQL Server + Redis)

docker-compose up -d

4. Configure HTTPS for Angular (mkcert)

cd client/ssl
mkcert localhost

5. Set up appsettings.Development.json

In the API project, provide:

  • Stripe API keys
  • Google OAuth client IDs
  • Redis config
  • Email provider settings (optional)

6. Run the app

Backend

dotnet watch run

Frontend

cd client
ng serve

7. Stripe Webhooks (development only)

stripe listen -f https://localhost:5001/api/payments/webhook \
  -e payment_intent.succeeded,payment_intent.payment_failed

🛠 Useful Commands

Command Context Description
dotnet ef migrations add "Initial" root Add a migration
dotnet ef database update root Apply migrations
dotnet test root Run tests
ng build client/ Build Angular app
docker-compose up -d root Start DB and Redis

📚 Roadmap (Next Features)

  • Password reset via email
  • Admin dashboard
  • Order filtering and management
  • Better mobile UI
  • Localization support
  • Role-based permissions (admin, seller, user)
  • Stripe refunds

✅ What’s Included

  • Full user auth flow (login/register/refresh)
  • Product filtering, pagination, and sorting
  • Shopping cart with live price updates
  • Checkout flow with Stripe
  • Responsive Angular UI

🤝 Contribution

Want to contribute?

  • Fork the repo and create your branch
  • Submit a pull request with clear description
  • Follow code styling and commit message conventions

📄 License

This project is licensed under the MIT License. Feel free to use, modify, and distribute with attribution.


🔗 Resources

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors