You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
4
+
5
+
Fixes # (issue)
6
+
7
+
## Type of change
8
+
9
+
Please delete options that are not relevant.
10
+
11
+
-[ ] Bug fix (non-breaking change which fixes an issue)
12
+
-[ ] New feature (non-breaking change which adds functionality)
13
+
-[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
14
+
-[ ] Refactor (does not change functionality, e.g. code style improvements, linting)
15
+
-[ ] Documentation update
16
+
17
+
## How Has This Been Tested?
18
+
19
+
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
20
+
21
+
Please include screenshots below if applicable.
22
+
23
+
## Checklist:
24
+
25
+
-[ ] My code follows the style guidelines of this project
26
+
-[ ] I have performed a self-review of my own code
27
+
-[ ] I have commented my code, particularly in hard-to-understand areas
28
+
-[ ] I have made corresponding changes to the documentation
29
+
-[ ] My changes generate no new warnings
30
+
-[ ] I have added tests that prove my fix is effective or that my feature works
31
+
-[ ] New and existing unit tests pass locally with my changes
32
+
-[ ] Any dependent changes have been merged and published in downstream modules
33
+
-[ ] I have checked my code and corrected any misspellings
34
+
35
+
## Maintainer Checklist
36
+
37
+
-[ ] closes #xxxx (Replace xxxx with the GitHub issue number)
Copy file name to clipboardexpand all lines: Docs/contributing.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
## Contribution Guidelines
2
2
Please follow these practices to make it easy for the reviewers to manage the project and for the contributors to contribute.
3
3
4
-
* If you fix a bug, want to implement a new feature, want to refactor the code etc, then first open an issue, describe about the issue and then go ahead to make a MR.
4
+
* If you fix a bug, want to implement a new feature, want to refactor the code etc, then first open an issue, describe about the issue and then go ahead to make a MR(Merge Request).
5
5
* If you want to work on a issue, drop in a comment on the issue thread, create a Merge Request by following the pattern ``` Fixes #<issue number> <Relevent MR title>``` and Also include ```Fixes #<issue number>``` in the description of the MR.
6
6
* Before creating a MR, run ```flutter format lib``` in 'monumento_module' directory to format your code.
7
7
* The merge request will not get merged until and unless there is a issue created for the same.
Create `.env` using template `.env.template` and add API keys
22
+
23
+
```
24
+
cat .env.template > .env
25
+
```
26
+
27
+
Add the following API keys to the `.env` file
28
+
29
+
-`SERVER_CLIENT_ID`: Obtain this from the Google Cloud Console for Android configuration.
30
+
-`GOOGLE_SIGNIN_APPLE_CLIENT_ID`: Obtain this from the Google Cloud Console for iOS configuration.
31
+
-`GOOGLE_SIGNIN_WEB_CLIENT_ID`: Obtain this from the Google Cloud Console for web configuration.
32
+
-`GEOAPIFY_API_KEY`: Obtain this from the [Geoapify](https://www.geoapify.com/) website for fetching location.
33
+
34
+
Refer to the updated guide below for obtaining these API keys:
35
+
36
+
-[Google Cloud Console Guide](https://developers.google.com/identity) for Google Sign-In or you can reffer to this [youtube video](https://www.youtube.com/watch?v=HtJKUQXmtok) where OAuth setup is done for a react app.
37
+
-[Geoapify API Setup](https://www.geoapify.com/get-started-with-maps-api/)
38
+
39
+
## Step 2) Configure Firebase
40
+
41
+
Follow the official [Firebase guide](https://firebase.google.com/docs/flutter/setup?platform=android) to set it up for this project. This will:
42
+
43
+
- Add the `google-services.json` file for Android.
44
+
- Add the `GoogleService-Info.plist` file for iOS and MacOS.
45
+
- Create the `firebase_options.dart` file in the lib folder.
46
+
47
+
## Step 3)📜 Populating Monument Data
48
+
49
+
This script allows you to populate your Firestore database with predefined monument data. It’s a standalone tool that you can run once to seed your database—no need to run or modify any Flutter app.
50
+
51
+
### Prerequisites
52
+
53
+
1.**Node.js**:
54
+
Install Node.js from [https://nodejs.org](https://nodejs.org).
55
+
Verify installation: node -v
56
+
You should see a version number like i.e:
57
+
58
+
2.**Firebase Project with Firestore Enabled**:
59
+
60
+
- Go to [Firebase Console](https://console.firebase.google.com).
61
+
- Create or select a project.
62
+
- Enable Firestore.
63
+
64
+
3.**Service Account Key**:
65
+
66
+
- In the Firebase console, go to "Project Settings" → "Service accounts".
67
+
- Click "Generate new private key" to download `serviceAccountKey.json`.
68
+
- Save `serviceAccountKey.json` in app root directory inside scripts folder.
69
+
70
+
71
+
72
+
## **Step 4) Configure Google Sign-In (Web-Based Flutter App)**
73
+
74
+
To enable Google Sign-In, follow these steps:
75
+
76
+
1.**Enable Google People API**:
77
+
- Go to the [Google Cloud Console](https://console.cloud.google.com/).
78
+
- Enable the **Google People API** under the APIs & Services section.
79
+
- Ensure you’ve signed up for the necessary services under your project.
80
+
81
+
2.**Set CORS Rules for Firebase Storage**:
82
+
- If you encounter a `403 Forbidden` error when attempting to load images from Firebase Storage, configure your Firebase Storage bucket to allow CORS. Refer to this guide for more details: [Handling Firebase Storage 403 Error](https://stackoverflow.com/questions/41943860/getting-403-forbidden-error-when-trying-to-load-image-from-firebase-storage).
83
+
84
+
3.**Allow Access-Control-Allow-Origin**:
85
+
- For viewing images on the web, ensure that the Firebase Storage bucket has the appropriate `Access-Control-Allow-Origin` settings. You can follow the steps here: [Configuring Access-Control-Allow-Origin](https://stackoverflow.com/questions/37760695/firebase-storage-and-access-control-allow-origin).
86
+
87
+
---
88
+
89
+
4.**Install Dependencies**:
90
+
91
+
- Install the Firebase Admin SDK:
92
+
93
+
```
94
+
npm install firebase-admin
95
+
```
96
+
97
+
inside scripts folder, execute the script using the following command:
98
+
99
+
```
100
+
node populate_monuments.js
101
+
```
102
+
103
+
If everything goes well, you should see:
104
+
105
+
```
106
+
Starting to populate the monuments collection...
107
+
Monuments collection populated successfully.
108
+
```
109
+
110
+
4.**Verify in firestore**:: Check the Firebase console → Firestore Database → monuments collection. Your data should appear there.
111
+
112
+
Notes:
113
+
114
+
- You can rerun this script whenever you need to seed the data.
115
+
- To add more monuments, modify the monumentsData array before running the script again.
Create `.env` using template `.env.template` and add API keys
62
-
63
-
```
64
-
cat .env.template > .env
65
-
```
66
-
67
-
Add the following API keys to the `.env` file
68
-
69
-
-`SERVER_CLIENT_ID`: Obtain this from the Google Cloud Console for Android configuration.
70
-
-`GOOGLE_SIGNIN_APPLE_CLIENT_ID`: Obtain this from the Google Cloud Console for iOS configuration.
71
-
-`GOOGLE_SIGNIN_WEB_CLIENT_ID`: Obtain this from the Google Cloud Console for web configuration.
72
-
-`GEOAPIFY_API_KEY`: Obtain this from the [Geoapify](https://www.geoapify.com/) website for fetching location.
73
-
74
-
Refer to the updated guide below for obtaining these API keys:
75
-
76
-
-[Google Cloud Console Guide](https://developers.google.com/identity) for Google Sign-In.
77
-
-[Geoapify API Setup](https://www.geoapify.com/get-started-with-maps-api/)
78
-
79
-
## Step 2) Configure Firebase
80
-
81
-
Follow the official [Firebase guide](https://firebase.google.com/docs/flutter/setup?platform=android) to set it up for this project. This will:
82
-
83
-
- Add the `google-services.json` file for Android.
84
-
- Add the `GoogleService-Info.plist` file for iOS and MacOS.
85
-
- Create the `firebase_options.dart` file in the lib folder.
86
-
87
-
## Step 3)📜 Populating Monument Data
88
-
89
-
This script allows you to populate your Firestore database with predefined monument data. It’s a standalone tool that you can run once to seed your database—no need to run or modify any Flutter app.
90
-
91
-
### Prerequisites
92
-
93
-
1.**Node.js**:
94
-
Install Node.js from [https://nodejs.org](https://nodejs.org).
95
-
Verify installation: node -v
96
-
You should see a version number like i.e:
97
-
98
-
2.**Firebase Project with Firestore Enabled**:
99
-
100
-
- Go to [Firebase Console](https://console.firebase.google.com).
101
-
- Create or select a project.
102
-
- Enable Firestore.
103
-
104
-
3.**Service Account Key**:
105
-
106
-
- In the Firebase console, go to "Project Settings" → "Service accounts".
107
-
- Click "Generate new private key" to download `serviceAccountKey.json`.
108
-
- Save `serviceAccountKey.json` in app root directory inside scripts folder.
109
-
110
-
111
-
112
-
## **Step 4) Configure Google Sign-In (Web-Based Flutter App)**
113
-
114
-
To enable Google Sign-In, follow these steps:
115
-
116
-
1.**Enable Google People API**:
117
-
- Go to the [Google Cloud Console](https://console.cloud.google.com/).
118
-
- Enable the **Google People API** under the APIs & Services section.
119
-
- Ensure you’ve signed up for the necessary services under your project.
120
-
121
-
2.**Set CORS Rules for Firebase Storage**:
122
-
- If you encounter a `403 Forbidden` error when attempting to load images from Firebase Storage, configure your Firebase Storage bucket to allow CORS. Refer to this guide for more details: [Handling Firebase Storage 403 Error](https://stackoverflow.com/questions/41943860/getting-403-forbidden-error-when-trying-to-load-image-from-firebase-storage).
123
-
124
-
3.**Allow Access-Control-Allow-Origin**:
125
-
- For viewing images on the web, ensure that the Firebase Storage bucket has the appropriate `Access-Control-Allow-Origin` settings. You can follow the steps here: [Configuring Access-Control-Allow-Origin](https://stackoverflow.com/questions/37760695/firebase-storage-and-access-control-allow-origin).
126
-
127
-
---
128
-
129
-
4.**Install Dependencies**:
130
-
131
-
- Install the Firebase Admin SDK:
132
-
133
-
```
134
-
npm install firebase-admin
135
-
```
136
-
137
-
inside scripts folder, execute the script using the following command:
138
-
139
-
```
140
-
node populate_monuments.js
141
-
```
142
-
143
-
If everything goes well, you should see:
144
-
145
-
```
146
-
Starting to populate the monuments collection...
147
-
Monuments collection populated successfully.
148
-
```
149
-
150
-
4.**Verify in firestore**:: Check the Firebase console → Firestore Database → monuments collection. Your data should appear there.
151
-
152
-
Notes:
153
-
154
-
- You can rerun this script whenever you need to seed the data.
155
-
- To add more monuments, modify the monumentsData array before running the script again.
36
+
### 🛠 Setup Instructions
37
+
[see setup process](./Docs/setup.md)
156
38
157
39
## ✌️ Maintainers
158
40
@@ -163,12 +45,20 @@ Notes:
163
45
164
46
⭐ Don't forget to star this repository if you find it useful! ⭐
165
47
166
-
Thank you for considering contributing to this project! Contributions are highly appreciated and welcomed. To ensure a smooth collaboration, Refer to the [Contribution Guidelines](https://github.com/AOSSIE-Org/Monumento/blob/master/contributing.md).
48
+
Thank you for considering contributing to this project! Contributions are highly appreciated and welcomed. To ensure a smooth collaboration, Refer to the [Contribution Guidelines](./Docs/contributing.md).
167
49
168
50
We appreciate your contributions and look forward to working with you to make this project even better!
169
51
170
52
By following these guidelines, we can maintain a productive and collaborative open-source environment. Thank you for your support!
171
53
54
+
## FAQ
55
+
- If you face any problems during setup or running the project, please refer to the FAQ.
56
+
- If you have encountered an issue and found a solution, we encourage you to share your findings and methods with the community to help others!
57
+
58
+
Yes, we follow industry-standard security practices to ensure your data is safe. We use Firebase Authentication and Firestore for secure storage.
59
+
60
+
For more details, check the [FAQ section](./Docs/FAQ.md).
61
+
172
62
## 📍 License
173
63
174
64
Distributed under the [GNU General Public License](https://opensource.org/license/gpl-3-0/). See [LICENSE](https://github.com/AOSSIE-Org/Monumento/blob/master/LICENSE) for more information.
0 commit comments