This project provides an API gateway to send messages and media to WhatsApp using whatsapp-web.js. It allows users to interact with WhatsApp through a RESTful interface, enabling the sending of text messages and media (images, videos, etc.) to specified phone numbers.
Built with the tools and technologies:
Getting Started
Prerequisites
Before getting started with wa-gateway, ensure your runtime environment meets the following requirements:
- Programming Language: JavaScript
- Package Manager: Npm
- Container Runtime: Docker
Installation
Install wa-gateway using one of the following methods:
Build from source:
- Clone the wa-gateway repository:
❯ git clone https://github.com/tuxedo-labs/wa-gateway
- Navigate to the project directory:
- Install the project dependencies:
Using npm

Using docker

❯ docker build -t tuxedo-labs/wa-gateway .
Usage
Run wa-gateway using the following command:
Using npm

Using docker

❯ docker run -it {image_name}
Testing
Run the test suite using the following command:
Using npm

Contributing
Contributing Guidelines
1. **Fork the Repository**: Start by forking the project repository to your github account.
2. **Clone Locally**: Clone the forked repository to your local machine using a git client.
```sh
git clone https://github.com/tuxedo-labs/wa-gateway
```
3. **Create a New Branch**: Always work on a new branch, giving it a descriptive name.
```sh
git checkout -b new-feature-x
```
4. **Make Your Changes**: Develop and test your changes locally.
5. **Commit Your Changes**: Commit with a clear message describing your updates.
```sh
git commit -m 'Implemented new feature x.'
```
6. **Push to github**: Push the changes to your forked repository.
```sh
git push origin new-feature-x
```
7. **Submit a Pull Request**: Create a PR against the original project repository. Clearly describe the changes and their motivations.
8. **Review**: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!
Contributor Graph
License
This project is protected under the SELECT-A-LICENSE License. For more details, refer to the LICENSE file.
Acknowledgments
- List any resources, contributors, inspiration, etc. here.