Skip to content

Commit 1f54457

Browse files
authored
Merge pull request #117 from weaponsforge/dev
v3.0.6
2 parents fa11c40 + 057d823 commit 1f54457

File tree

15 files changed

+916
-13
lines changed

15 files changed

+916
-13
lines changed

README.md

Lines changed: 45 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
## climate-profile-full
22

3-
Dynaimc widgets/apps for external website embedding on Google Sites.
3+
This project creates rich CSS-styled blog-like **Posts** or **Card-like** thumbnail web pages for embedding in Google Sites as external websites.
44

5-
## Requirements
5+
It also features a lightweight Content Management System (CMS) for creating and managing Google Site embeddable blog-like **Posts** and **Card** content.
66

7-
1. Windows, Linux or Mac OS
8-
2. NodeJS LTS v16.14.2
7+
### Using with Google Sites
98

10-
### Core Libraries/Frameworks
9+
1. Copy a File Card's `IFrame Embed URL`.
10+
2. Paste the `IFrame Embed URL` in Google Site's **Embed from the web** - By URL input prompt.
11+
3. Preview or Publish the Google Site draft page.
1112

12-
1. NextJS v13.0.4
13-
2. React 18.2.0
14-
3. @reduxjs/toolkit v1.9.3
15-
4. firebase v9.18.0
16-
5. firebase-admin v11.5.0
13+
Google Sites Sample Web page:<br>
14+
https://sites.google.com/view/gsites-embed-app/home
15+
16+
![gsites-embed-03-ez-optimized](https://github.com/weaponsforge/climate-profile-full/assets/56998001/21c07402-904d-4e41-9988-9108c8c683cc)
1717

1818
### Online Demo
1919

@@ -29,6 +29,41 @@ email: user@gmail.com
2929
password: useruser
3030
```
3131

32+
## Requirements
33+
34+
1. Windows, Linux or Mac OS
35+
2. NodeJS LTS v16.14.2
36+
3. Firebase Project
37+
38+
### Core Libraries/Frameworks
39+
40+
1. **NextJS v13.0.4** (client-side SSG)
41+
- NextJS is one of the @latest React frameworks officially endorsed on the react.dev website
42+
- NextJS's Static Side Generation (SSG) feature, combined with Incremental Static Generation (ISG) creates SEO-optimized websites fit for uploading on static hosting services such as GitHub Pages.
43+
- NextJS offers code automatic code-splitting, enabling a smaller download footprint per page route
44+
2. **React 18.2.0**
45+
- React version 18's is the latest react version as of this writing
46+
3. **@reduxjs/toolkit v1.9.3**
47+
- Redux offers a structured, organized, and centralized global "state management" system as a single source of truth that occasionally syncs with the database.
48+
- Redux states are available across all components using intuitively-named hooks.
49+
- Redux states are more predictable, consistent and less prone to errors by
50+
- promoting data normalization (which is optional), and
51+
- use of reducers which ensures data immutability
52+
- Its async data fetching mechanisms and middleware sync well with complex store states and of informing the client app of the loading state.
53+
- Redux states are easy to debug using the Redux Dev tools.
54+
- People can easily follow where the centralized data stores and async data fetching methods are located in the code base when working in teams, especially for large, complex enterprise apps.
55+
- Redux state management will scale well with this app's incoming feature updates containing more complex data models and states.
56+
- Redux has excellent documentation and a thriving community, and it has proven to be one of the most mature, albeit boilerplates and complex react state management libraries of all time.
57+
4. **firebase v9.18.0**
58+
- Firebase, being a Backend-as-a-Service (Baas), makes it possible to create apps without creating a separate backend server app.
59+
- Firebase offers a Web (JavaScript) SDK for working on the frontend (websites) and the Firebase Admin SDK for client-side scripting.
60+
- Firebase offers ready to use Authentication systems
61+
- Firestore database provides a lightweight document database for storing and querying simple data. Security is enforced using the Firebase Security Rules.
62+
- Firebase Storage provides an easy-to-use and access container for rich-data content. Security is enforced using the Firebase Storage Security Rules.
63+
- Firebase offers generous limits for testing and playing around with its Spark (standard) plan, after which users can upgrade to the Blaze (paid) Plan as needed.
64+
5. **firebase-admin v11.5.0**
65+
- The Firebase Admin SDK allows elevated scripting access to various Firebase services, that are not available when using the Firebase (JavaScript) SDK.
66+
3267
## Installation
3368

3469
1. Clone this repository.<br>

server/.env.example

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
ALLOW_CORS=1
22
ALLOWED_ORIGINS=http://localhost:3000
33
FIREBASE_SERVICE_ACC=<YOUR-FIREBASE-PROJ-SERVICE-ACCOUNT-JSON-CREDENTIALS-ONE-LINER-NO-SPACES>
4-
FIREBASE_PRIVATE_KEY=<PRIVATE-KEY-FROM-FIREBASE-SERVICE-ACCOUNT-JSON-WITH-DOUBLE-QUOTES>
4+
FIREBASE_PRIVATE_KEY=<PRIVATE-KEY-FROM-FIREBASE-SERVICE-ACCOUNT-JSON-WITH-DOUBLE-QUOTES>
5+
AUTH_UID=<FIREBASE_USER_AUTH_ID>

server/README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,13 @@ Requires `email` for CLI input parameter. See below for example usage.<br>
175175
Usage:<br>
176176
`npm run user:delete --email=randomemail@gmail.com`
177177
178+
### `npm run cards:webscrape`
179+
180+
Extracts Card data from https://basiclandart.com and uploads them to Firestore to use as sample data to use for educational purposes.<br>
181+
182+
To run this script smoothly, be sure to supply all the **server** required environment variables in the `.env` file.<br>
183+
Additionally, hard-code an existing Firebase user account's Auth ID in the `AUTH_UID` variable.
184+
178185
## References
179186
180187
<sup>[[1]](https://firebase.google.com/docs/cli#windows-npm)</sup> Firebase CLI Installation

0 commit comments

Comments
 (0)