Skip to content

Commit 8d646cf

Browse files
made necessary and requested changes to the documentation
1 parent 938c4ba commit 8d646cf

File tree

6 files changed

+171
-128
lines changed

6 files changed

+171
-128
lines changed

FAQ.md Docs/FAQ.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
### General
66

77
1. **What is this project about?**
8-
This project aims to [insert project goal/summary here].
8+
This project aims to transforms how you connect with the world’s most iconic landmarks.
99

1010
2. **How do I get started with this project?**
1111
Refer to the [README.md](./README.md) file for step-by-step instructions to set up the project.

Docs/PULL_REQUEST_TEMPLATE.md

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
## Description
2+
3+
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)
38+
- [ ] Tag the PR with the appropriate labels

contributing.md Docs/contributing.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
## Contribution Guidelines
22
Please follow these practices to make it easy for the reviewers to manage the project and for the contributors to contribute.
33

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).
55
* 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.
66
* Before creating a MR, run ```flutter format lib``` in 'monumento_module' directory to format your code.
77
* The merge request will not get merged until and unless there is a issue created for the same.

Docs/setup.md

+115
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
## Step 1) 🖥️ How to setup Project locally
2+
3+
Clone the project
4+
5+
```
6+
git clone https://github.com/AOSSIE-Org/Monumento.git
7+
```
8+
9+
Go to the project directory
10+
11+
```
12+
cd Monumento
13+
```
14+
15+
Install dependencies
16+
17+
```
18+
flutter pub get
19+
```
20+
21+
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.

README.md

+16-126
Original file line numberDiff line numberDiff line change
@@ -23,136 +23,18 @@ Monumento is an AR-integrated social app that transforms how you connect with th
2323
- Firebase
2424

2525
## **▶️ How to run the Monumento app**
26+
To get started with Monumento, follow these steps:
2627

27-
### 1) First clone the app into your local machine
28+
### 🔧 Prerequisites
2829

29-
- Follow these [guidelines](#step-1-️-how-to-setup-project-locally) to setup project locally
30+
- Install [Flutter](https://docs.flutter.dev/get-started/install)
3031

31-
### 2) Then Configure Firebase
32+
- Install [Dart](./Docs/FAQ.md)
3233

33-
- Follw these [guidelines](#step-2-configure-firebase) to Configure Firebase
34+
- Ensure you have [Firebase CLI](https://firebase.google.com/docs/cli#setup_update_cli) installed
3435

35-
### 3) Adds the monuments Data
36-
37-
- Use these [guidelines](#step-3-populating-monument-data) to run a script which adds monuments data.
38-
39-
<a id="setup-project-locally"></a>
40-
41-
## Step 1) 🖥️ How to setup Project locally
42-
43-
Clone the project
44-
45-
```
46-
git clone https://github.com/AOSSIE-Org/Monumento.git
47-
```
48-
49-
Go to the project directory
50-
51-
```
52-
cd Monumento
53-
```
54-
55-
Install dependencies
56-
57-
```
58-
flutter pub get
59-
```
60-
61-
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)
15638

15739
## ✌️ Maintainers
15840

@@ -163,12 +45,20 @@ Notes:
16345

16446
⭐ Don't forget to star this repository if you find it useful! ⭐
16547

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).
16749

16850
We appreciate your contributions and look forward to working with you to make this project even better!
16951

17052
By following these guidelines, we can maintain a productive and collaborative open-source environment. Thank you for your support!
17153

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+
17262
## 📍 License
17363

17464
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.

assets/macos/Timeline_2.mp4

-5.4 MB
Binary file not shown.

0 commit comments

Comments
 (0)