Skip to content

matheusinit/ecommerce-api

Repository files navigation

Ecommerce API

Express.js Typescript License MIT

💻 Description

An ecommerce API to practice TDD, CI, AWS and software architecture. I want to simulate a usecase that an app would be used for thousands of users, and this project is a solution to this usecase in specific.

This project brought ideas to the following blog posts:

How to run application

  • Set up environment
    • Rename .example.env to .env
    • Change values in .env
    • Run docker-compose up -d api-rest-dev

🗒️ To do

  • Develop main functionalities
    • Create account (as store administrator and as client)
    • User can login and logout
    • Publish a product
    • List products
    • Edit product price, name and stock
    • Archive product
    • Buy a product using a credit card
    • Send email when the payment is confirmed
    • Favorite a product
  • Make a load balacing with Nginx
  • Make a load balacing in the database (and study the different strategies)
  • Use Message Queue Tool to long-awaited routes/process (buy a product)

Convention

Issue name convention

Use a short and descriptive name for the problem or request.

Example: Add feature Archive product

Branch name convention

Use the category of the changes e.g. feat, test, the number of the issue in (#issue-number)-issue and a short description to summarize the meaning of the changes like archive-product

Example: feat/issue-01/archive-product

Pull Request Naming

Use the issue number [#issue-number]. Followed by the issue title to end all.

Example: [#01] Add feature Archive product

Reference for studies

📝 License

This project is under license MIT.

Make with ❤️ for matheusinit