The Trello Board is here.
- Install Node.js Current, which is 20.2.0 as of the current commit.
- Clone this repository using Git or download the source code.
- Inside the root directory of the repository run the following commands.
npm install
npm run build
- The built backend distribution will be in
backend/build
and the frontend distribution will befrontend/extension
.
- Install Docker.
- After following the build instructions, start the database Docker container with the following commands.
cd backend
docker-compose up -d
cd ..
- Then, run all tests with the following command.
npm run test
Note: On Unix operating systems the docker-compose
command may need to be run
with sudo
.
- Follow the build instructions.
- Run the following commands to start the database Docker container. [1]
cd backend
docker-compose up -d
cd ..
- Start the backend server with the following commands in a new terminal.
cd backend
npm run start
- Download Google Chrome.
- Enable Developer mode for extensions at
chrome://extensions/
in Google Chrome. - Install the
frontend/extension
directory as a Chrome Extension and enable it. - Set the extension id on the Credentials page of the Google Cloud control panel to match the installed extension id if necessary so that Google OAuth will function. [2]
- Go to a YouTube video with comments disabled or restricted and comments posted through the extension will be visible and it will be possible to make new comments, reply to comments, and like and dislike similar to the official YouTube comments section.
A list of YouTube videos with comments, and some without, entered into the testing database includes the following.
- https://www.youtube.com/watch?v=t-Nw9oz-U6M
- https://www.youtube.com/watch?v=YqLXRLCb3is
- https://www.youtube.com/watch?v=astISOttCQ0
- [1] On Unix operating systems the
docker-compose
command may need to be run withsudo
. - [2] Due to the fact that Google requires a paid developer account in order to keep a consistent extension id across installations, in order to circumvent that, the extension id must be set to match the installation.