Skip to content

๐Ÿ›๏ธ ecommerce API designed to be useful for stores owners, as it allows some messaging automation, getting order information from Aliexpress and Shopify, among other things.

License

Notifications You must be signed in to change notification settings

lucasvtiradentes/ecommerce-stores-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1 Commit
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

ECOMMERCE STORES API


maintance contributions

Features โ€ข Requirements โ€ข Development โ€ข About โ€ข Help โ€ข Community

see table of content

๐ŸŽบ Overview

This is an ecommerce API designed to be useful for stores owners, as it allows some messaging automation, getting order information from Aliexpress and Shopify, among other things.

๐ŸŽฏ Features

ย ย ย โœ”๏ธ Whatsapp bot automation routes;
ย ย ย โœ”๏ธ Telegram bot automation routes;
ย ย ย โœ”๏ธ Get order information from Aliexpress;
ย ย ย โœ”๏ธ Get order information from Shopify;
ย ย ย โœ”๏ธ Get order information from Brazil post office, called Correios.

โš ๏ธ Requirements

In order to use this project in your computer, you need to have the following items:

  • npm: To install the package. Npm is installed alongside nodejs;
  • nodejs: To actually run the package.

If you want to make changes to the source code, it is recommended to also install the following items:

  • git: To work with version controlling;
  • vscode: Useful for editing the code. You can choose a similar editor as you wish.

๐Ÿ”ง Development

Development setup

To setup this project in your computer, download it in this link or run the following commands:

# Clone this repository
$ git clone https://github.com/lucasvtiradentes/ecommerce-stores-api

# Go into the repository
$ cd ecommerce-stores-api

After download it, go to the project folder and run these commands:

# Install dependencies
$ npm install

# Run the typescript code in development mode
$ npm run dev

If you want to contribute to the project, after you make the necessary changes, run these commands to check if everything is working fine:

# Compiles the typescript code into javascript
$ npm run build

# Run the compiled code in production mode
$ npm run start

Folders and files structure

The project has the following folder strucure:

|-- .github      # contains CI-CD workflows, github templates, DOCS and images.
|-- build        # (dev only) build folder
|-- node_modules # (dev only) dependencies folder
|-- scripts      # scripts folder
|-- src          # application source code

and the filles present in root folder are the following:

.editorconfig    # editorconfig settings file
.env             # environmental variables
.env.example     # environmental variables example
.gitignore       # git ignored items
LICENSE          # project license
package.json     # project specifications
tsconfig.json    # typescript settings file

Used technologies

This project uses the following thechnologies:

Scope Subject Technologies
Main Main
Secondary
Setup Other

And also this project used the following packages:

# DEPENDENCIES

- @adiwajshing/baileys           # whatsapp api wrapper.
- @wmakeev/base64encode          # deal with base64 codification.
- axios                          # deal with https request.
- bull                           # related to multi-threading.
- cli-color                      # prits colorful console messages.
- cluster                        # fork process to run specific tasks.
- cors                           # specify who can use the api routes.
- dotenv                         # read all .env variables at runtime.
- express                        # create backend servers.
- mongodb                        # mongodb database package.
- mongoose                       # ORM to deal with mongodb.
- node-telegram-bot-api          # telegram api wrapper package.
- pino                           # logger library.
- puppeteer-extra                # puppeteer with some cool plugins.
- puppeteer-extra-plugin-stealth # plugin for stealth navigation at puppeteer.
- qrcode                         # deal with qrcode operations.
- throng                         # related to multi-threading.
- uuid                           # generate random strings

# DEV DEPENDENCIES

- npm-run-all                    # run multiple scripts simultaneously.
- rimraf                         # cross-platform delete folder utility.
- ts-node                        # run typescript code in development.
- ts-node-dev                    # restart the typescript code after changes.
- typescript                     # typescript main package.

Commit messages style

This project uses the best of two main conventions to commit messages validation:

So a typically valid commit message has this pattern:

๐Ÿ”ง config: add lint-staged to the project (#2)

Also, in order to have this integration working correctly, I buld a script that we can specify only allowed types and it take care to update both commitizen and commitlint settings.

๐Ÿ™ Help

FAQ

You can check our most common questions and awnsers in this link.

Docs and support

The first point of call should be our Github discussions. Ask your questions about bugs or specific use cases, and someone from the will respond. Or, if you prefer, open an issue on our GitHub repo.

๐Ÿ“š About

License

Boilermanager is distributed under the terms of the MIT License Version 2.0. A complete version of the license is available in the LICENSE file in this repository. Any contribution made to this project will be licensed under the MIT License Version 2.0.

๐Ÿ‘ช Community

Contributing

If you are a typescript developer, we would kind and happy accept your help:

  • The best way to get started is to select any issue from the good-first-issue label;
  • If you would like to contribute, please review our Contributing Guide for all relevant details.

Another ways to positivily impact this project is to:

  • โญ Star this repository: my goal is to impact the maximum number of developers around the world;
  • โœ๏ธ Fix english mistakes I might have made in this project, may it be in the DOCS or even in the code (I'm a portuguese natural speaker);
  • โค๏ธ Say thanks: kind words have a huge impact in anyone's life;
  • ๐Ÿ’ฐ Donate: if you want to support my work even more, consider make a small donation. I would be really happy!

Feedback

Any questions or suggestions? You are welcome to discuss it on:

Acknowledgements

This project is an idea of @lucasvtiradentes to return some value to the world after years of consuming a lot of useful tools provided by this amazing open source community.

LinkedIn Gmail Discord Github

Made with โค๏ธ by Lucas Vieira.

๐Ÿ‘‰ See also all my projects

๐Ÿ‘‰ See also all my articles

About

๐Ÿ›๏ธ ecommerce API designed to be useful for stores owners, as it allows some messaging automation, getting order information from Aliexpress and Shopify, among other things.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published