https://github.com/devxbasit/fintransact
https://github.com/devxbasit/fintransact
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/devxbasit/fintransact
- Owner: devxbasit
- Created: 2024-07-11T18:16:10.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-26T20:19:35.000Z (11 months ago)
- Last Synced: 2025-01-30T11:28:15.184Z (5 months ago)
- Language: C#
- Size: 941 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
#### NikeStore
NikeStore is an **enterprise-grade microservice-based** web application built using clean architecture, Ocelot API gateway, RabbitMQ, Hangfire,
JWT tokens, .NET Identity, MailKit & Entity Framework Core#### Overview view of the project:
Designed & implemented **6 microservices** responsible for authentication, order & email processing and shopping cart, product &
coupon management.- **Integrated stripe payment gateway** with OrderAPI to handle customer order **payments & refunds**.
- **Set up RabbitMQ** as the messaging broker for asynchronous communication between microservices.
- Implemented ShoppingCartApi to manage customer **cart items, coupons & discounts**.
- Implemented EmailAPI to process & **send emails in the background** using Hangfire, MailKit & RabbitMQ.
- Implemented AuthAPI to hand **user registration, login & token generation** using JWT tokens & .NET Identity.
- Implemented Ocelot API gateway to provide a unified entry point.
- Configured **middleware pipeline** for functionalities like authentication, logging & global exceptional handling & CORS.
- **Synchronised** all the coupon codes & discount amounts **with the stripe payment** gateway & the database.
- Utilized EF Core for object-relational mapping & efficient database access.#### NikeStore - App Flow

#### Registration

#### Login

#### Products Home

#### Product Details

#### Product Details

#### Customer Cart

#### Checkout

#### Stripe Checkout page

#### Stripe Transactions

#### Stripe Transactions Details

#### Orders Grid Admin

#### Products Grid

#### Products Add, Update
![]()
![]()
#### Products Delete
![]()
![]()
#### Coupons Grid

#### Database Coupons in Sync with StripeAPI

#### Coupons Add, Update
![]()
![]()
#### Coupons Delete
![]()
![]()
#### Hangfire Dashboard

#### Hangfire Succeeded Jobs

#### Hangfire Servers

#### RabbitMQ Queues

#### Customer Registration Mail

#### Order Confirmation Mail

#### Email Cart Mail

#### Microservices Architecture Screenshot - 1
![]()
![]()
![]()
![]()
#### Commands
Run in AuthAPI
```
dotnet user-secrets init
dotnet user-secrets set "ConnectionStrings:AuthApiDbConnectionString" "stripe secret key here"
dotnet user-secrets set "ApiSettings:JwtOptions:Secret" "FinTransact secret key here"
dotnet user-secrets set "RabbitMQSettings:RabbitMQConnectionOptions:UserName" "username here"
dotnet user-secrets set "RabbitMQSettings:RabbitMQConnectionOptions:Password" "password here"```
#### Other Stuff
```
AppFlowDiagram Here(sign in using [email protected]) - https://lucid.app/lucidchart/aa986b8f-13f0-48dd-8023-72f977b2872e/edit?beaconFlowId=79A866E7CA46BB7F&invitationId=inv_0de6832b-7c0e-40e9-8dda-1e23f83e53a3&page=0_0#
```