A work-in-progress ecommerce API built using ASP.NET. As an exercise in authentication and cybersecurity, it features password hashing and salt generation using Pbkdf2, and configurable JWT authentication with refresh token support. Follows test-driven-development on the Service and Controller layers.
- Password hashing + salting
- Configurable JWT Authentication with cookie support
- Configurable refresh token system
- Product listing system (WIP)
- Shopping cart system (WIP)
- Order system (WIP)
- Front-end interface (WIP)
- Languages: C# / .NET
- Frameworks: ASP.NET Core
- Data Management: SQLite, Entity Framework Core
- Testing: NUnit 3, NSubstitute, Shouldly
- General: Dependency Injection, Layered Architecture, HTTP Request Handling, Repository-Service-Controller Pattern, Generics, Test Driven Development, Data Transfer Objects (DTO), DTO Mapping, Password Hashing + Salting, JWT Authentication, Cookies, Refresh Tokens
To build the project, you will need a copy of the .NET 9.0 SDK.
# Clone the repository
git clone "https://github.com/Syntrice/syntrice-e-shop.git"
# Navigate to repository root
cd "./syntrice-e-shop"
# Restore dependencies
dotnet restore
# Build Project
dotnet build "./SyntriceEShop.sln"The project is configured to use a local SQLite database with seeded data when running in development mode. To enable this, run with the environment variable ASPNETCORE_ENVIRONMENT set to Development. Production mode is not yet configured.
This project is licenced under MIT
