Skip to content

Syntrice/syntrice-e-shop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

123 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Syntrice EShop

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.

Features

  • 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)

Technologies

  • 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

Database Schema

syntrice-e-shop-er drawio

Setup

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.

Licence

This project is licenced under MIT

About

A personal example e-commerce backend API and front-end application (WIP)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages