- Spring Boot, web framework, makes it easy to create stand-alone, production-grade Spring based Applications
- AWS Cloud, using AWS SDK for Java 2.x
- S3, etc
- Apache Kafka, a distributed and fault-tolerant stream processing system used for event-driven communication between microservices.
- Spring Data Redis, provides an implementation of Spring Framework’s Cache Abstraction.
- Docker and docker-compose, for containerization
- Spring Data JPA provides repository support for the Jakarta Persistence API
- JWT for providing authentication, user management, fine-grained authorization
- MySQL for storing data
- ElasticSearch , A distributed search and analytics engine used for quickly querying and analyzing large volumes of data.
- Kibina , A data visualization tool for ElasticSearch, providing real-time analytics and visual insights.
- [Zookeeper](Apache ZooKeeper) , A centralized service for maintaining configuration information, naming, and providing distributed synchronization.
- GCP , For additional cloud services and infrastructure as needed for scalability, storage, and analytics.
- Java 17
- MySql 8
- Maven
- Docker
- GNU Make
- WSL (if using Windows)
Start by cloning the repository to your local machine:
git clone https://github.com/haons211/TK_Ecommerce.git
cd TK_Ecommerce/docker compose up -d./mvnw spring-boot:run
![[Pasted image 20241112173454.png]]
| Endpoint | HTTP Method | Description |
|---|---|---|
/api/v1/payments /create_payment_url |
POST | Creates a new payment URL for initiating a payment |
/api/v1/payments /vnpay_ipn |
GET | Handles the VNPAY Instant Payment Notification (IPN) callback |
/api/v1/payments /vnpay-payment-return |
GET | Processes the VNPAY payment return URL after transaction |
9704198526191432198
NGUYEN VAN A
07/15
123456
| Endpoint | HTTP Method | Description |
|---|---|---|
/v1/shop/register |
POST | Registers a new shop with GHN |
/v1/shipping-order/create |
POST | Creates a new shipping order with pickup and delivery details |
/v1/shipping-order/cancel |
POST | Cancels an existing shipping order |
/v1/shipping-order/detail |
GET | Retrieves details of a specific shipping order |
/v1/shipping-order/leadtime |
GET | Estimates lead time (delivery time) based on location and service type |
/v1/shipping-order/fee |
GET | Calculates shipping fee based on weight, distance, and service type |
/v1/shipping-order/status |
GET | Tracks the current status of a shipping order |
/v1/ward |
GET | Retrieves a list of wards in a specific district |
/v1/district |
GET | Retrieves a list of districts in a specific province |
/v1/province |
GET | Retrieves a list of provinces available in the GHN service |
/v1/store |
GET | Retrieves details of the store or origin location information |
/v1/address |
POST | Validates or normalizes an address before creating an order |
/v1/shipping-order/return |
POST | Creates a return order for an already delivered or undelivered order |