RC.Guided.Tours aims to provide a smooth on-boarding process of new contributors to Rocket.Chat codebase. We use VsCode extension CodeTour
to explain the most crucial parts of the codebase so that new contributors can start contributing as quickly as possible. methods.
-
You need a Rocket.Chat Server Setup (You dont need a running server)
-
Install the CodeTour extension in VsCode
-
cd Rocket.Chat
and execute (Use nodejs 14)
curl -s https://raw.githubusercontent.com/RocketChat/RC.Guided.Tours/main/setup.sh | bash
- If you don't want to contribute, just press
Enter
(For contributing see below)
CodeTour-Setup-Video.mp4
-
Fork this repo https://github.com/RocketChat/RC.Guided.Tours
-
Enter the link of your forked repository in terminal, Instead of doing step 4. (Example- https://github.com/Sayan4444/RC.Guided.Tours.git)
-
To perform any git actions related to RC.Guided.Tours, always
cd RC.Guided.Tours
Since we use nested .git folders, never perform a git action related to RC.Guided.Tours from outside the folder.
S no. | Tour |
---|---|
01 | Rocket.Chat Onboarding |
02 | Understanding Monorepo Structure of Rocket.Chat |
03 | Repository Overview |
04 | How to send a message (Client Side) |
05 | How to send a message (Server Side) |
06 | How to create an endpoint |
07 | How to create a DB model |
08 | How to use DB model |
09 | Services in Rocket.Chat |
10 | How to Add a new Services |
11 | How to create a new Package |
- Make changes in the
src
folder and then execute
npm run dev
to see your changes in effect. This internally calls the build
tours
scripts inside RC.Guided.Tours
- When choosing a
searchString
make sure itsshort
andunique
. Avoid usingfunction arguments
as searchString.
Starting Tours:- Use ctrl+shift+p
/ cmd+shift+p
to open all commands and then select the start tour
option
Using.Codetour.mp4
- We are using a nested git architecture, where the child repository is git ignored by the parent repository and both have a seperate git history
- To git ignore, we are not changing the .gitignore file but adding the file
.git/info/exclude
which can be called as a local git extension of the .gitignore file. RC.Guided.Tours
is a standalone package which runs seperately in the main repository.- The
shell
script runs atours
script internally. This dynamically generates the.tours
folder at the root directory of the folder which is responsible for visualizing the tours. - The CodeTour Extension searches for a folder
.tours
and all the tours created are stored inside that folder in JSON format. To know more about the CodeTour extension visit here
Please provide your honest feedback by joining this channel. You may write about these points
- Did this help you to understand the codebase?
- Were the examples and explainations easy to follow?
- Any further improvements or suggestions?
- Anything else you want to share with us
While setting up the project if you get an error Search string not found
report this issue immediately in the above channel.