sql >> Databasteknik >  >> NoSQL >> Redis

E-handels-API gjord med Node-Js, Typescript, PostgreSQL, Redis och Kafka

Introduktion

E-handels-API gjort med typskript, express, PostgreSQL, Redis &Kafka med alla grundläggande funktioner och mer !!

Källkod - https://github.com/leoantony72/E-commerce-Api

Miljövariabler

PORT = 4000
DB_USER = PGUSER
DB_PASSWORD = PGPASSWORD
DB_HOST = postgresdb
DB_PORT = 5432
DB_DATABASE = e_commerce
SESSION_SECRET = Session Secret
SESSION_MAXAGE = 3600000 * 60 * 10
GMAIL_USER = email // eg:(test123)
GMAIL_PASS = Gmail password
STRIPE_PUBLIC_KEY = Stripe public Key
STRIPE_SECRET_KEY = Stripe Private Key

Dockerbygge

docker-compose up // in the root dir

Konfigurera Postgres, Redis &Kafka

⭕*Postgres *

docker exec -it postgresdb psql -U username -W e_commerce

Kopiera och klistra in filen db.sql från db_model

⭕*Redis *

docker exec -it redis-e-commerce bash -c redis-cli

klistra in det här kommandot

BF.RESERVE usernames 0.00001 10000

Kafka

docker exec -it broker bash
kafka-topics --create --bootstrap-server localhost:9092 --replication-factor 1  --partitions 1  --topic orders

Med detta är vår installation klar, alla Api-rutter är


1. /api/store                       GET     Access the Store
2. /api/auth/register               POST    Register a User
3. /api/auth/login                  POST    Login A user
4. /api/auth/logout                 POST    Logout A User
5. /api/auth/forgotpassword         POST    Req For Password Reset
6. /api/auth/reset-password/        POST    Resets The Password
7. /api/verify                      GET     Verify The Email
8. /api/admin/product               POST    Insert A Product
9. /api/admin/product/:id           PUT     Update Product
10. /api/admin/product/:id          DELETE  Delete A Product
11. /api/admin/stock/:id            PUT     Update Stock
12. /api/admin/discount/:pid        GET     Get Discount of a Product
13. /api/admin/add_discount/:id     POST    Add Discount to a product
14. /api/admin/activate/:id         GET     Activate Discount
15. /api/manager/orders             GET     Gets Order
16. /api/manager/order/:orderid     GET     Get Individual Order Detailes
17. /api/shipper/updateorder/:oid   POST    Sents Confirm Order Request
18. /api/order/confirmdelivery      POST    User Confirms Delivery
19. /api/products                   GET     Get Products
20. /api/products/:pid              GET     Get Individual product
21. /api/checkusername              POST    Checks If Username is Taken
22. /api/ratings/:pid               GET     Get Rating
23. /api/ratings/:pid               POST    Add Rating To Product
24. /api/ratings/:pid               PUT     Update Rating
25. /api/ratings/:pid               DELETE  Delete Rating
26. /api/cart                       GET     Get Cart Items
27. /api/addItem/:pid               POST    Add Item To Cart
28. /api/removeItem/:pid            DELETE  DEL Item In Cart
29. /api/purchase                   POST    Purachse Item
30. /api/userAddress                POST    Add User Address
31. /api/userAddress                DELETE  DEL User Address
32. /api/userAddress                PUT     Update User Address

Mer information om rutterna finns i dokumentationen 👉

Källkod :https://github.com/leoantony72/E-commerce-Api

Tack för din tid ...😁


  1. In-memory cache med LRU-utgång

  2. Streama från en mongodb-markör till Express-svar i node.js

  3. Fixa "indexnamn måste vara en sträng" när du släpper flera index i MongoDB

  4. Anslut till AWS ElastiCache med In-Transit Encryption