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.Chatand 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.ToursSince 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
srcfolder and then execute
npm run devto see your changes in effect. This internally calls the build tours scripts inside RC.Guided.Tours
- When choosing a
searchStringmake sure itsshortandunique. Avoid usingfunction argumentsas 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/excludewhich can be called as a local git extension of the .gitignore file. RC.Guided.Toursis a standalone package which runs seperately in the main repository.- The
shellscript runs atoursscript internally. This dynamically generates the.toursfolder at the root directory of the folder which is responsible for visualizing the tours. - The CodeTour Extension searches for a folder
.toursand 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.
