sql >> データベース >  >> NoSQL >> Redis

Node-Js、Typescript、PostgreSQL、Redis、Kafkaで作成されたEコマースAPI

    はじめに

    typescript、express、PostgreSQL、Redis、Kafkaで作成されたEコマースAPIで、すべての基本機能などを備えています!!

    ソースコード -https://github.com/leoantony72/E-commerce-Api

    環境変数

    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
    

    Dockerビルド

    docker-compose up // in the root dir
    

    Postgres、Redis、Kafkaのセットアップ

    ⭕*Postgres *

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

    db_modelからdb.sqlファイルをコピーして貼り付けます

    ⭕*Redis *

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

    このコマンドを貼り付けます

    BF.RESERVE usernames 0.00001 10000
    

    カフカ

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

    これでセットアップが完了し、すべてのApiルートが

    
    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
    

    ルートの詳細については、ドキュメントに記載されています👉

    ソースコード :https://github.com/leoantony72/E-commerce-Api

    お時間をいただきありがとうございます...😁


    1. MapReduceのHadoopでのシャッフルと並べ替え

    2. 統合テストの実行時に埋め込まれたMongoDB

    3. どうすればFlaskでMongoDBを使用できますか?

    4. コールバックなしのマングースの更新