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.
- 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
- 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
- .NET SDK 7+
- Node.js
- Angular CLI
- Docker Desktop (for SQL Server + Redis)
- mkcert for HTTPS in development
- Stripe account
- Google Cloud project for OAuth2
git clone https://github.com/mohyeDev/skinet.git
cd skinetdotnet restore
cd client
npm installdocker-compose up -dcd client/ssl
mkcert localhostIn the API project, provide:
- Stripe API keys
- Google OAuth client IDs
- Redis config
- Email provider settings (optional)
dotnet watch runcd client
ng servestripe listen -f https://localhost:5001/api/payments/webhook \
-e payment_intent.succeeded,payment_intent.payment_failed| 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 |
- Password reset via email
- Admin dashboard
- Order filtering and management
- Better mobile UI
- Localization support
- Role-based permissions (admin, seller, user)
- Stripe refunds
- 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
Want to contribute?
- Fork the repo and create your branch
- Submit a pull request with clear description
- Follow code styling and commit message conventions
This project is licensed under the MIT License. Feel free to use, modify, and distribute with attribution.