-
-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
docs: update local environment setup guide #3224
Conversation
WalkthroughThe pull request introduces modifications to the environment configuration and local setup documentation. The Changes
The changes primarily focus on improving the local development environment setup and Firebase configuration documentation. Tip CodeRabbit's docstrings feature is now available as part of our Early Access Program! Simply use the command Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
❌ Deploy Preview for staging-organized failed.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Outside diff range and nitpick comments (2)
LOCAL_ENVIRONMENT_SETUP.md (2)
75-77
: Improve clarity and grammar in cloning instructionsThe current text has some grammatical issues and could be more concise.
-3. The next step is to clone each of these projects using the `git clone` command. Using the direct GitHub repository URL from the [sws2apps organization](https://github.com/sws2apps), or you can also clone from your own fork if you already have one. -4. Let's start by cloning the [API project](https://github.com/sws2apps/sws2apps-api). This should be a quick process as the **sws2apps-api** repository is relatively small. -5. With the API project cloned, let's move on to the [frontend project](https://github.com/sws2apps/organized-app), the **Organized app** itself. Please note that this repository is quite large so the cloning process may take more time. +3. Clone each project using the `git clone` command. You can use either the direct GitHub repository URL from the [sws2apps organization](https://github.com/sws2apps) or your own fork if you have one. +4. First, clone the [API project](https://github.com/sws2apps/sws2apps-api). This is a relatively small repository. +5. Next, clone the [frontend project](https://github.com/sws2apps/organized-app), the **Organized app** itself. Note that this repository is larger, so the cloning process will take longer.🧰 Tools
🪛 LanguageTool
[style] ~77-~77: As an alternative to the over-used intensifier ‘quite’, consider replacing this phrase.
Context: ...lf. Please note that this repository is quite large so the cloning process may take more ti...(EN_WEAK_ADJECTIVE)
[uncategorized] ~77-~77: Use a comma before ‘so’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...note that this repository is quite large so the cloning process may take more time....(COMMA_COMPOUND_SENTENCE_2)
138-138
: Clarify Firebase project ID instructionsThe explanation about finding the Firebase project ID could be more structured.
-4. Let's move on to the Firebase environment variables. For **FIREBASE_APP_NAME,** use the project id assigned to your firebase project. You can get it from the URL (ie: `organized-app-47c7u` from `https://console.firebase.google.com/u/1/project/organized-app-47c7u/overview`). Alternatively, you can go to **Settings,** then **General,** and find the `Project ID`. +4. For the **FIREBASE_APP_NAME** variable, use your Firebase project ID. You can find it in two ways: + - From the Firebase Console URL: Example - `organized-app-47c7u` from `https://console.firebase.google.com/u/1/project/organized-app-47c7u/overview` + - From Firebase Console: Navigate to **Settings** > **General** > **Project ID**
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
.env.example
(1 hunks)LOCAL_ENVIRONMENT_SETUP.md
(7 hunks)
🧰 Additional context used
🪛 LanguageTool
LOCAL_ENVIRONMENT_SETUP.md
[style] ~77-~77: As an alternative to the over-used intensifier ‘quite’, consider replacing this phrase.
Context: ...lf. Please note that this repository is quite large so the cloning process may take more ti...
(EN_WEAK_ADJECTIVE)
[uncategorized] ~77-~77: Use a comma before ‘so’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...note that this repository is quite large so the cloning process may take more time....
(COMMA_COMPOUND_SENTENCE_2)
1. Go to the [OpenJDK download page](https://www.oracle.com/java/technologies/downloads/) and select the version you prefer. As of now, versions 23 and 21 are available. We'll choose version 23 in this guide, but version 21 will work equally well, as Firebase Emulators need at least version 11. | ||
2. Now, proceed to download OpenJDK, version 23. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Update OpenJDK version information
The text mentions "versions 23 and 21 are available" but presents it as a current state. To make this documentation more maintainable, consider:
-1. Go to the [OpenJDK download page](https://www.oracle.com/java/technologies/downloads/) and select the version you prefer. As of now, versions 23 and 21 are available. We'll choose version 23 in this guide, but version 21 will work equally well, as Firebase Emulators need at least version 11.
+1. Go to the [OpenJDK download page](https://www.oracle.com/java/technologies/downloads/) and select any version 11 or higher (Firebase Emulators requirement). This guide uses version 23, but newer versions should work equally well.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
1. Go to the [OpenJDK download page](https://www.oracle.com/java/technologies/downloads/) and select the version you prefer. As of now, versions 23 and 21 are available. We'll choose version 23 in this guide, but version 21 will work equally well, as Firebase Emulators need at least version 11. | |
2. Now, proceed to download OpenJDK, version 23. | |
1. Go to the [OpenJDK download page](https://www.oracle.com/java/technologies/downloads/) and select any version 11 or higher (Firebase Emulators requirement). This guide uses version 23, but newer versions should work equally well. | |
2. Now, proceed to download OpenJDK, version 23. |
@@ -212,7 +209,7 @@ Let’s proceed on this journey as if we were a new user: | |||
3. Great, the authentication for your account is now complete. | |||
4. Now, let’s create a congregation. Enter a fictitious first and last name. | |||
5. Let’s select a country for our testing. Then, find a congregation using a congregation name or number and click ‘Create congregation’. | |||
6. Now, you’ll be prompted to create an encryption code. Remember, in this new version, the encryption code is required after creating your congregation account. This feature doesn’t exist in the older ‘Congregation Program for Everyone’ version, but in ‘Organized’, it’s an important step to start using the app. | |||
6. Now, you’ll be prompted to create an encryption code. Remember, in this new version, **the encryption code is required** after creating your congregation account. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Highlight encryption code requirement
The encryption code requirement is a critical security feature that deserves more emphasis.
-6. Now, you'll be prompted to create an encryption code. Remember, in this new version, **the encryption code is required** after creating your congregation account.
+6. You'll be prompted to create an encryption code. This is a critical security feature:
+ - The encryption code is mandatory in this version
+ - It protects your congregation's sensitive data
+ - Store this code securely as it cannot be recovered if lost
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
6. Now, you’ll be prompted to create an encryption code. Remember, in this new version, **the encryption code is required** after creating your congregation account. | |
6. You'll be prompted to create an encryption code. This is a critical security feature: | |
- The encryption code is mandatory in this version | |
- It protects your congregation's sensitive data | |
- Store this code securely as it cannot be recovered if lost |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Outside diff range and nitpick comments (3)
LOCAL_ENVIRONMENT_SETUP.md (3)
75-77
: Improve clarity of repository cloning instructionsThe sentence structure could be clearer, and there's a missing article.
Apply these changes:
-3. The next step is to clone each of these projects using the `git clone` command. Using the direct GitHub repository URL from the [sws2apps organization](https://github.com/sws2apps), or you can also clone from your own fork if you already have one. +3. The next step is to clone each of these projects using the `git clone` command. You can use either the direct GitHub repository URL from the [sws2apps organization](https://github.com/sws2apps) or clone from your own fork if you already have one. -4. Let's start by cloning the [API project](https://github.com/sws2apps/sws2apps-api). This should be a quick process as the **sws2apps-api** repository is relatively small. +4. Let's start by cloning the [API project](https://github.com/sws2apps/sws2apps-api). This should be a quick process, as the **sws2apps-api** repository is relatively small.🧰 Tools
🪛 LanguageTool
[style] ~77-~77: As an alternative to the over-used intensifier ‘quite’, consider replacing this phrase.
Context: ...lf. Please note that this repository is quite large so the cloning process may take more ti...(EN_WEAK_ADJECTIVE)
[uncategorized] ~77-~77: Use a comma before ‘so’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...note that this repository is quite large so the cloning process may take more time....(COMMA_COMPOUND_SENTENCE_2)
138-144
: Enhance Firebase configuration instructionsThe Firebase setup instructions are improved but could be more structured.
Consider reorganizing this section:
-4. Let's move on to the Firebase environment variables. For **FIREBASE_APP_NAME,** use the project id assigned to your firebase project. You can get it from the URL (ie: `organized-app-47c7u` from `https://console.firebase.google.com/u/1/project/organized-app-47c7u/overview`). Alternatively, you can go to **Settings,** then **General,** and find the `Project ID`. +4. For the Firebase environment variables: + a. Set **FIREBASE_APP_NAME** to your Firebase project ID, which you can find: + - In the project URL: e.g., `organized-app-47c7u` from `https://console.firebase.google.com/u/1/project/organized-app-47c7u/overview` + - Or in **Project Settings** > **General** > **Project ID** + +5. For **GOOGLE_CONFIG_BASE64**, follow these steps to securely convert your private key: + a. Open Node.js in your terminal by typing `node` + b. Create a variable with your private key JSON contents: + ```javascript + const firebaseConfig = // Paste your JSON here + ``` + c. Convert to base64: + ```javascript + Buffer.from(JSON.stringify(firebaseConfig)).toString('base64') + ``` + d. Copy the output to **GOOGLE_CONFIG_BASE64**
168-170
: Consolidate frontend setup stepsThe frontend setup instructions are fragmented.
Suggest combining these steps:
-1. Open the frontend project folder (`organized-app` repo) in VS Code and open a new Terminal. -2. Install the dependencies by typing `npm i`. -3. After a while, installation is complete. +1. Set up the frontend project: + a. Open the `organized-app` folder in VS Code + b. Open a new Terminal + c. Install dependencies with `npm i`
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
.env.example
(1 hunks)LOCAL_ENVIRONMENT_SETUP.md
(6 hunks)
🧰 Additional context used
🪛 LanguageTool
LOCAL_ENVIRONMENT_SETUP.md
[style] ~77-~77: As an alternative to the over-used intensifier ‘quite’, consider replacing this phrase.
Context: ...lf. Please note that this repository is quite large so the cloning process may take more ti...
(EN_WEAK_ADJECTIVE)
[uncategorized] ~77-~77: Use a comma before ‘so’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...note that this repository is quite large so the cloning process may take more time....
(COMMA_COMPOUND_SENTENCE_2)
🔇 Additional comments (3)
.env.example (1)
3-7
: LGTM! Improved Firebase configuration structure
The changes improve security and clarity by:
- Removing the API key from example file (good security practice)
- Adding essential Firebase configuration variables
- Including emulator host configuration for local development
LOCAL_ENVIRONMENT_SETUP.md (2)
54-55
: OpenJDK version information needs maintenance-friendly update
The current text about OpenJDK versions will become outdated quickly.
202-202
: Enhance encryption code requirement explanation
The encryption code requirement needs more emphasis on its importance.
Quality Gate passedIssues Measures |
organized-app Run #1809
Run Properties:
|
Project |
organized-app
|
Branch Review |
main
|
Run status |
Passed #1809
|
Run duration | 00m 05s |
Commit |
5890163b96: docs: update local environment setup guide
|
Committer | Angelo Annunziata |
View all properties for this run ↗︎ |
Test results | |
---|---|
Failures |
0
|
Flaky |
0
|
Pending |
0
|
Skipped |
0
|
Passing |
1
|
View all changes introduced in this branch ↗︎ |
🎉 This PR is included in version 3.4.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
Description
I updated the local setup guide to clarify that the "Firebase name" refers to the Firebase project ID and removed references to old branches since the repository is now aligned with the master branch.
Fixes # (issue)
Type of change
Please delete options that are not relevant.
Checklist: