Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/devxbasit/fintransact
https://github.com/devxbasit/fintransact
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/devxbasit/fintransact
- Owner: devxbasit
- Created: 2024-07-11T18:16:10.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-08-26T20:19:35.000Z (5 months ago)
- Last Synced: 2024-08-26T23:27:17.840Z (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
![nike-store microservice app flow](https://github.com/devxbasit/NikeStore/blob/master/ss/nikestore-app-flow.png)
#### Registration
![nike-store microservice app flow](https://github.com/devxbasit/NikeStore/blob/master/ss/register.png)
#### Login
![nike-store microservice app flow](https://github.com/devxbasit/NikeStore/blob/master/ss/login.png)
#### Products Home
![nike-store Products](https://github.com/devxbasit/NikeStore/blob/master/ss/ProductListHome.png)
#### Product Details
![nike-store Product](https://github.com/devxbasit/NikeStore/blob/master/ss/ProductDetails.png)
#### Product Details
![nike-store Product](https://github.com/devxbasit/NikeStore/blob/master/ss/ProductDetails2.png)
#### Customer Cart
![nike-store Cart](https://github.com/devxbasit/NikeStore/blob/master/ss/Cart.png)
#### Checkout
![nike-store Checkout](https://github.com/devxbasit/NikeStore/blob/master/ss/CheckoutSummary.png)
#### Stripe Checkout page
![nike-store Stripe Checkout](https://github.com/devxbasit/NikeStore/blob/master/ss/StripeCheckoutPage.png)
#### Stripe Transactions
![nike-store Stripe Checkout](https://github.com/devxbasit/NikeStore/blob/master/ss/StripeTransactions.png)
#### Stripe Transactions Details
![nike-store Stripe Checkout](https://github.com/devxbasit/NikeStore/blob/master/ss/StripeTransactionsDetail.png)
#### Orders Grid Admin
![nike-store Stripe Checkout](https://github.com/devxbasit/NikeStore/blob/master/ss/OrdersGridAdmin.png)
#### Products Grid
![nike-store Stripe Coupons](https://github.com/devxbasit/NikeStore/blob/master/ss/ProductsGrid.png)
#### Products Add, Update
#### Products Delete
#### Coupons Grid
![nike-store Coupons Grid](https://github.com/devxbasit/NikeStore/blob/master/ss/CouponGrid.png)
#### Database Coupons in Sync with StripeAPI
![nike-store Stripe Coupons](https://github.com/devxbasit/NikeStore/blob/master/ss/StripeCouponsGrid.png)
#### Coupons Add, Update
#### Coupons Delete
#### Hangfire Dashboard
![nike-store microservice app flow](https://github.com/devxbasit/NikeStore/blob/master/ss/hangfire-dashboard.png)
#### Hangfire Succeeded Jobs
![nike-store microservice app flow](https://github.com/devxbasit/NikeStore/blob/master/ss/hangfire-succeeded-jobs.png)
#### Hangfire Servers
![nike-store microservice app flow](https://github.com/devxbasit/NikeStore/blob/master/ss/hangfire-servers.png)
#### RabbitMQ Queues
![nike-store microservice app flow](https://github.com/devxbasit/NikeStore/blob/master/ss/rabbit-mq-queues.png)
#### Customer Registration Mail
![nike-store microservice app flow](https://github.com/devxbasit/NikeStore/blob/master/ss/registration-mail.png)
#### Order Confirmation Mail
![nike-store microservice app flow](https://github.com/devxbasit/NikeStore/blob/master/ss/order-confirmation-mail.png)
#### Email Cart Mail
![nike-store microservice app flow](https://github.com/devxbasit/NikeStore/blob/master/ss/email-cart-mail.png)
#### 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#
```