Welcome to the Shoe Store backend repository! This project is built using ASP.NET Core and serves as the backend for an e-commerce platform dedicated to selling shoes. It provides a RESTful API for managing products, orders, authentication, and more.
- User Authentication & Authorization (JWT-based authentication with Identity)
- Product Management (CRUD operations for shoes, sizes, and inventory)
- Order Management (Cart, checkout, and payment integration with Stripe)
- Secure Payments (Integration with Tap Payments & Stripe API)
- Logging & Monitoring (Using Serilog for structured logging)
- Database Migrations (Automatic application of migrations using Entity Framework Core)
- Middleware for Exception Handling & Custom Request Processing
- CORS Support (Allowing cross-origin requests)
- Backend Framework: ASP.NET Core
- Database: SQL Server (via Entity Framework Core)
- Authentication: JWT (JSON Web Tokens) with Identity
- Logging: Serilog (Console & File logging)
- API Documentation: Swagger (OpenAPI)
- Validation: FluentValidation
- Object Mapping: AutoMapper
- Dependency Injection: Built-in DI with modular service registration
- Payment Integration: Stripe & Tap Payments
Ensure you have the following installed:
- .NET 8 SDK
- SQL Server
- Postman (Optional, for API testing)
- Clone the repository:
git clone https://github.com/your-username/shoe-store-backend.git cd shoe-store-backend
- Configure the
appsettings.json
file with your database connection string, JWT settings, and payment API keys. - Restore dependencies:
dotnet restore
- Apply database migrations:
dotnet ef database update
To start the application, run:
dotnet run
The API will be available at https://localhost:5001/
or http://localhost:5000/
.
Swagger UI is enabled for API documentation and testing. Once the application is running, access it at:
http://localhost:5000/swagger
To publish the project:
dotnet publish -c Release -o ./publish
- Frontend Repository: Shoe Store Frontend
Contributions are welcome! Feel free to fork the repo, create a branch, and submit a pull request.
This project is licensed under the MIT License.