This project uses Rust with Actix and ScyllaDB (using the Charybdis driver) for the backend, and React with Plasmo for the frontend. The project is organized into two main folders: extension
for the frontend and api
for the backend.
Make sure you have the following tools installed on your machine:
- Back-end/API:
- Rust and Cargo: [Install Rust](https://www.rust-lang.org/tools/
- ScyllaDB: Run ScyllaDB with Docker install)
- Front-end/Extension:
- pnpm: Install pnpm
Also you gonna need a Twitch Developer account and an Twitch Application:
[!INFO] You will set a default OAuth Callback URL to create your extension in this first moment.
- Navigate to the extension directory:
cd extension
- Install the Node.js dependencies using pnpm:
pnpm install
- Run the plasmo dev mode with Firefox as our target:
pnpm dev:firefox
This will create a server for hot-reload together with a dev extension that you can find at ./extension/build/firefox-mv2-dev
- Access the about:debugging tab (firefox only) and load your extension by selecting the
manifest.json
file:
- Run the Authentication for the first time and retrieve the
redirect_url
and add it to Twitch App.
- Close the Redirect Tab and try to authenticate again:
We welcome contributions to improve this project! To contribute, please follow these steps:
- Fork the repository and clone it to your local machine.
- Create a new branch for your changes:
git checkout -b feature/your-feature-name
- Make your desired changes to the codebase.
- Test your changes to ensure they work as expected.
- Commit your changes with a descriptive commit message:
git commit -m "Add feature/fix: description of your changes"
- Push your changes to your forked repository:
git push origin feature/your-feature-name
- Open a pull request in the original repository and provide a clear description of your changes.
- Wait for the project maintainers to review and merge your pull request.
Thank you for contributing to this project! Your help is greatly appreciated.
This project is licensed under the MIT License - see the LICENSE file for details.