Merge pull request #13 from miguelcarrascoq/master

docs: add installation instructions to run locally
This commit is contained in:
moom0o 2024-03-09 18:47:02 -05:00 committed by GitHub
commit f23a1a334d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 48 additions and 25 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/node_modules

View File

@ -12,9 +12,9 @@ The main reason why I created this is because Google Maps isn't a good replaceme
to upload 360 photos to specific places on the map. With this project, it is possible to upload them at any coordinates. to upload 360 photos to specific places on the map. With this project, it is possible to upload them at any coordinates.
If you want to try it out, there are publicly available instances: If you want to try it out, there are publicly available instances:
| **URL** | **Country** | **Status** | **Hosted By** | | **URL** | **Country** | **Status** | **Hosted By** |
|------------------------------------------------|-------------|------------|---------------| |------------------------------------------------|-------------|------------|---------------|
| [maps.moomoo.me](https://maps.moomoo.me) | 🇬🇧 | Up | @moom0o | | [maps.moomoo.me](https://maps.moomoo.me) | 🇬🇧 | Up | @moom0o |
| [map.winscloud.net](https://map.winscloud.net) | 🇹🇭 | Down | @WinsDominoes | | [map.winscloud.net](https://map.winscloud.net) | 🇹🇭 | Down | @WinsDominoes |
## Quick start ## Quick start
@ -23,25 +23,25 @@ In order to get the Google api keys required for the oauth follow these steps:
### Client ID ### Client ID
1) Create a new project at https://console.cloud.google.com/ 1. Create a new project at https://console.cloud.google.com/
2) Head over to the API library and enable 2. Head over to the API library and enable
the <a href="https://console.cloud.google.com/apis/library/streetviewpublish.googleapis.com">Street View Publish the <a href="https://console.cloud.google.com/apis/library/streetviewpublish.googleapis.com">Street View Publish
API</a> API</a>
3) Select 'Create Credentials', select 'User Data', enter any app name/email. 3. Select 'Create Credentials', select 'User Data', enter any app name/email.
4) Enable the 'Street View Publish API' scope. You won't need any sensitive scopes. 4. Enable the 'Street View Publish API' scope. You won't need any sensitive scopes.
5) Select 'Web application' for type, and name it anything. 5. Select 'Web application' for type, and name it anything.
6) Add http://localhost:7000 to authorized javascript origins. (If you are running on another domain/port, replace 6. Add http://localhost:7000 to authorized javascript origins. (If you are running on another domain/port, replace
localhost) localhost)
7) Add http://localhost:7000/auth/ to authorized redirect URIs (If you are running on another domain/port, replace 7. Add http://localhost:7000/auth/ to authorized redirect URIs (If you are running on another domain/port, replace
localhost) localhost)
8) You should now copy the Client ID into the config.json file. 8. You should now copy the Client ID into the config.json file.
### Client Secret ### Client Secret
@ -50,15 +50,15 @@ and copy that to your config.json.
### Consent Screen ### Consent Screen
1) Select 'OAuth consent screen', use any name/email 1. Select 'OAuth consent screen', use any name/email
2) Make sure the authorized domain and email is correct, then select 'Save and Continue'. 2. Make sure the authorized domain and email is correct, then select 'Save and Continue'.
3) Make sure the Street View Publish API scope is enabled, if not, add it! 3. Make sure the Street View Publish API scope is enabled, if not, add it!
4) For test users, add the email address of the account where you want to upload 360 photos. 4. For test users, add the email address of the account where you want to upload 360 photos.
5) **Make sure to also copy the client ID into index.html**, after '&client_id=' and before '&scope', if needed, change 5. **Make sure to also copy the client ID into index.html**, after '&client_id=' and before '&scope', if needed, change
the port and domain here as well. the port and domain here as well.
### Config File ### Config File
@ -66,14 +66,14 @@ and copy that to your config.json.
There are many options in the config file that might confuse you, so here's a simple guide (I think?) to help you get There are many options in the config file that might confuse you, so here's a simple guide (I think?) to help you get
through it. through it.
| **Keys** | **Default values** | **Usage** | | **Keys** | **Default values** | **Usage** |
|------------------|----------------------------|------------------------------------------------------------------------------------------------------------------------------------------------| | ---------------- | -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| `https` | `false` (boolean) | This is an option whether if you want to enable https or not, this uses boolean values. `false` = http:// and `true` = https:// | | `https` | `false` (boolean) | This is an option whether if you want to enable https or not, this uses boolean values. `false` = http:// and `true` = https:// |
| `host` | `localhost` (string) | Your host or domain, if you are hosting on a local machine, set this to `localhost`, if you are hosting this publicly, set it to your domain. | | `host` | `localhost` (string) | Your host or domain, if you are hosting on a local machine, set this to `localhost`, if you are hosting this publicly, set it to your domain. |
| `port` | `7000` (integer) or `null` | Your port, if are running this as a public instance, set this to `null` | | `port` | `7000` (integer) or `null` | Your port, if are running this as a public instance, set this to `null` |
| `openWebBrowser` | `true` (boolean) | This option will open a browser window to PhotoSphereStudio's running instance, set this to `false` if you are running this on a server, | | `openWebBrowser` | `true` (boolean) | This option will open a browser window to PhotoSphereStudio's running instance, set this to `false` if you are running this on a server, |
| `clientId` | string | Paste your Google OAuth Client ID here, check the previous steps on how to get it. | | `clientId` | string | Paste your Google OAuth Client ID here, check the previous steps on how to get it. |
| `clientSecret` | string | Paste your Google OAuth Client Secret ID here, check the previous steps on how to get it. | | `clientSecret` | string | Paste your Google OAuth Client Secret ID here, check the previous steps on how to get it. |
**INFO: Your authorized JavaScript origins and authorized redirect URIs should be the same as the one you have set in **INFO: Your authorized JavaScript origins and authorized redirect URIs should be the same as the one you have set in
your config file.** your config file.**
@ -114,6 +114,28 @@ Your **authorized JavaScript origin** would be: `http://localhost:7000`
Your **authorized redirect URIs** would be: `http://localhost:7000/auth/` (don't forget the slash after `auth`) Your **authorized redirect URIs** would be: `http://localhost:7000/auth/` (don't forget the slash after `auth`)
## Installation
1. Clone the repository
```bash
git clone https://github.com/moom0o/PhotoSphereStudio.git
```
2. Install the dependencies
```bash
npm install
```
3. Update the `config.json` file in the root directory of the project and fill it with the required information (clientId, clientSecret, etc.)
4. Start the server
```bash
node index.js
```
## Support ## Support
If you have any questions about how to set this up or about the source code, feel free to ask either **moom0o** ( If you have any questions about how to set this up or about the source code, feel free to ask either **moom0o** (