Spaces:
Running
Running
everything
Browse files- .gcloudignore +17 -0
- .vscode/settings.json +3 -0
- README.md +23 -0
- app.yaml +12 -0
- tsconfig.json +36 -0
.gcloudignore
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# This file specifies files that are *not* uploaded to Google Cloud
|
| 2 |
+
# using gcloud. It follows the same syntax as .gitignore, with the addition of
|
| 3 |
+
# "#!include" directives (which insert the entries of the given .gitignore-style
|
| 4 |
+
# file at that point).
|
| 5 |
+
#
|
| 6 |
+
# For more information, run:
|
| 7 |
+
# $ gcloud topic gcloudignore
|
| 8 |
+
#
|
| 9 |
+
.gcloudignore
|
| 10 |
+
# If you would like to upload your .git directory, .gitignore file or files
|
| 11 |
+
# from your .gitignore file, remove the corresponding line
|
| 12 |
+
# below:
|
| 13 |
+
.git
|
| 14 |
+
.gitignore
|
| 15 |
+
|
| 16 |
+
# Node.js dependencies:
|
| 17 |
+
node_modules/
|
.vscode/settings.json
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"liveServer.settings.port": 5501
|
| 3 |
+
}
|
README.md
CHANGED
|
@@ -30,6 +30,29 @@ GEMINI_API_KEY={your_key}
|
|
| 30 |
|
| 31 |
The free tier includes generous usage limits, but you can also upgrade for additional capacity.
|
| 32 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
## Technology Stack
|
| 34 |
|
| 35 |
This is a [Next.js](https://nextjs.org) project that uses:
|
|
|
|
| 30 |
|
| 31 |
The free tier includes generous usage limits, but you can also upgrade for additional capacity.
|
| 32 |
|
| 33 |
+
## Developer Features
|
| 34 |
+
|
| 35 |
+
### Debug Mode
|
| 36 |
+
|
| 37 |
+
For development and testing purposes, the application includes a debug mode to help troubleshoot API quota issues:
|
| 38 |
+
|
| 39 |
+
- **Enabling Debug Mode** (OFF by default):
|
| 40 |
+
- Add `?debug=true` to the URL
|
| 41 |
+
- Or toggle the debug button in the error modal (development environment only)
|
| 42 |
+
- Or set `debugMode=true` in localStorage
|
| 43 |
+
|
| 44 |
+
- **Disabling Debug Mode**:
|
| 45 |
+
- Add `?debug=false` to the URL to override any localStorage setting
|
| 46 |
+
- Toggle the debug button to OFF in the error modal
|
| 47 |
+
- Clearing browser data for the site will also reset it to OFF
|
| 48 |
+
|
| 49 |
+
- **Features**:
|
| 50 |
+
- Automatically displays the API quota error modal for testing
|
| 51 |
+
- Debug status is persisted in localStorage between sessions
|
| 52 |
+
- Visible debug toggle in the error modal
|
| 53 |
+
|
| 54 |
+
This mode is only fully available in development environments (`NODE_ENV === 'development'`).
|
| 55 |
+
|
| 56 |
## Technology Stack
|
| 57 |
|
| 58 |
This is a [Next.js](https://nextjs.org) project that uses:
|
app.yaml
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
service: gemini-3d-draw
|
| 2 |
+
env: standard
|
| 3 |
+
runtime: nodejs20
|
| 4 |
+
|
| 5 |
+
handlers:
|
| 6 |
+
- url: /.*
|
| 7 |
+
secure: always
|
| 8 |
+
script: auto
|
| 9 |
+
|
| 10 |
+
env_variables:
|
| 11 |
+
GEMINI_API_KEY: "AIzaSyByp1JkqBFAibEQUrpkoSyAscDQX158t2M"
|
| 12 |
+
GCP_CLIENT_EMAIL: "[email protected]"
|
tsconfig.json
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"compilerOptions": {
|
| 3 |
+
"target": "ES2017",
|
| 4 |
+
"lib": [
|
| 5 |
+
"dom",
|
| 6 |
+
"dom.iterable",
|
| 7 |
+
"esnext"
|
| 8 |
+
],
|
| 9 |
+
"allowJs": true,
|
| 10 |
+
"skipLibCheck": true,
|
| 11 |
+
"strict": false,
|
| 12 |
+
"noEmit": true,
|
| 13 |
+
"incremental": true,
|
| 14 |
+
"module": "esnext",
|
| 15 |
+
"esModuleInterop": true,
|
| 16 |
+
"moduleResolution": "node",
|
| 17 |
+
"resolveJsonModule": true,
|
| 18 |
+
"isolatedModules": true,
|
| 19 |
+
"jsx": "preserve",
|
| 20 |
+
"plugins": [
|
| 21 |
+
{
|
| 22 |
+
"name": "next"
|
| 23 |
+
}
|
| 24 |
+
],
|
| 25 |
+
"strictNullChecks": true
|
| 26 |
+
},
|
| 27 |
+
"include": [
|
| 28 |
+
"next-env.d.ts",
|
| 29 |
+
".next/types/**/*.ts",
|
| 30 |
+
"**/*.ts",
|
| 31 |
+
"**/*.tsx"
|
| 32 |
+
],
|
| 33 |
+
"exclude": [
|
| 34 |
+
"node_modules"
|
| 35 |
+
]
|
| 36 |
+
}
|