Skip to content

Commit 1531e14

Browse files
committed
+
1 parent 3b8cd5e commit 1531e14

26 files changed

+6520
-38
lines changed

.firebaserc

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"projects": {
3+
"default": "carllouismanuel-1e3a9"
4+
}
5+
}

.gitignore

+3-1
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,6 @@ npm-debug.log*
2222
yarn-debug.log*
2323
yarn-error.log*
2424

25-
.env
25+
.env
26+
27+
*.log

build/asset-manifest.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"files": {
33
"main.css": "/static/css/main.a6a12b4f.css",
4-
"main.js": "/static/js/main.7dce5bed.js",
4+
"main.js": "/static/js/main.459e0187.js",
55
"static/js/453.ed3810f9.chunk.js": "/static/js/453.ed3810f9.chunk.js",
66
"static/media/fontawesome-webfont.svg?v=4.7.0": "/static/media/fontawesome-webfont.c1e38fd9e0e74ba58f7a.svg",
77
"static/media/fontawesome-webfont.eot": "/static/media/fontawesome-webfont.8b43027f47b20503057d.eot",
@@ -17,11 +17,11 @@
1717
"static/media/about-bg.png": "/static/media/about-bg.5792e0a1b000bba9019c.png",
1818
"index.html": "/index.html",
1919
"main.a6a12b4f.css.map": "/static/css/main.a6a12b4f.css.map",
20-
"main.7dce5bed.js.map": "/static/js/main.7dce5bed.js.map",
20+
"main.459e0187.js.map": "/static/js/main.459e0187.js.map",
2121
"453.ed3810f9.chunk.js.map": "/static/js/453.ed3810f9.chunk.js.map"
2222
},
2323
"entrypoints": [
2424
"static/css/main.a6a12b4f.css",
25-
"static/js/main.7dce5bed.js"
25+
"static/js/main.459e0187.js"
2626
]
2727
}

build/index.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<!doctype html><html lang="en" style="overflow-x:hidden"><head><meta charset="utf-8"/><link href="https://fonts.cdnfonts.com/css/poppins" rel="stylesheet"><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Open+Sans:300"><link href="https://fonts.googleapis.com/css?family=Pacifico&amp;display=swap" rel="stylesheet"><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Experienced Full-Stack Web Developer with 12+ years of expertise in ReactJS, NodeJS, PHP, and top frameworks like Laravel and CodeIgniter. Skilled in creating secure, scalable, and SEO-optimized websites, with a focus on responsive design and performance."/><meta name="keywords" content="Full-Stack Web Developer, ReactJS, NodeJS, PHP, Laravel, CodeIgniter, AngularJS, VueJS, JQuery, HTML, CSS, Web Development, SEO, WordPress, Drupal, Joomla, Custom Themes, Responsive Design, OOP, Web Security, Scalable Websites, MySQL, Linux Development, CMS"><link rel="canonical" href="https://carlxaeron.github.io"><link rel="sitemap" type="application/xml" title="Sitemap" href="/sitemap.xml"><meta property="og:locale" content="en_US"><meta property="og:type" content="portfolio"><meta property="og:title" content="Full-Stack Web Developer | 12+ Years of Experience"><meta name="twitter:title" content="Full-Stack Web Developer | 12+ Years of Experience"><meta property="og:description" content="Experienced Full-Stack Web Developer with 12+ years of expertise in ReactJS, NodeJS, PHP, and top frameworks like Laravel and CodeIgniter. Skilled in creating secure, scalable, and SEO-optimized websites, with a focus on responsive design and performance."/><meta name="keywords" content="Full-Stack Web Developer, ReactJS, NodeJS, PHP, Laravel, CodeIgniter, AngularJS, VueJS, JQuery, HTML, CSS, Web Development, SEO, WordPress, Drupal, Joomla, Custom Themes, Responsive Design, OOP, Web Security, Scalable Websites, MySQL, Linux Development, CMS"><meta name="twitter:description" content="Experienced Full-Stack Web Developer with 12+ years of expertise in ReactJS, NodeJS, PHP, and top frameworks like Laravel and CodeIgniter. Skilled in creating secure, scalable, and SEO-optimized websites, with a focus on responsive design and performance."><meta property="og:image" content="/static/images/me-bg.png"><meta name="twitter:image" content="/static/images/me-bg.png"><meta property="og:url" content="http://carlmanuel.orgfree.com/"><meta property="og:site_name" content="Carl Louis Manuel - Full-Stack Web Developer | 12+ Years of Experience"><meta name="twitter:card" content="summary"><meta name="twitter:site" content="@carlxaeron09"><meta name="twitter:creator" content="@carlxaeron09"><link rel="manifest" href="/manifest.json"/><title>Carl Louis Manuel - Full-Stack Web Developer | 12+ Years of Experience</title><script defer="defer" src="/static/js/main.933fa6e9.js"></script><link href="/static/css/main.de26213c.css" rel="stylesheet"><script defer="defer" src="/static/js/main.7dce5bed.js"></script><link href="/static/css/main.a6a12b4f.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
1+
<!doctype html><html lang="en" style="overflow-x:hidden"><head><meta charset="utf-8"/><link href="https://fonts.cdnfonts.com/css/poppins" rel="stylesheet"><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Open+Sans:300"><link href="https://fonts.googleapis.com/css?family=Pacifico&amp;display=swap" rel="stylesheet"><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Experienced Full-Stack Web Developer with 12+ years of expertise in ReactJS, NodeJS, PHP, and top frameworks like Laravel and CodeIgniter. Skilled in creating secure, scalable, and SEO-optimized websites, with a focus on responsive design and performance."/><meta name="keywords" content="Full-Stack Web Developer, ReactJS, NodeJS, PHP, Laravel, CodeIgniter, AngularJS, VueJS, JQuery, HTML, CSS, Web Development, SEO, WordPress, Drupal, Joomla, Custom Themes, Responsive Design, OOP, Web Security, Scalable Websites, MySQL, Linux Development, CMS"><link rel="canonical" href="https://carlxaeron.github.io"><link rel="sitemap" type="application/xml" title="Sitemap" href="/sitemap.xml"><meta property="og:locale" content="en_US"><meta property="og:type" content="portfolio"><meta property="og:title" content="Full-Stack Web Developer | 12+ Years of Experience"><meta name="twitter:title" content="Full-Stack Web Developer | 12+ Years of Experience"><meta property="og:description" content="Experienced Full-Stack Web Developer with 12+ years of expertise in ReactJS, NodeJS, PHP, and top frameworks like Laravel and CodeIgniter. Skilled in creating secure, scalable, and SEO-optimized websites, with a focus on responsive design and performance."/><meta name="keywords" content="Full-Stack Web Developer, ReactJS, NodeJS, PHP, Laravel, CodeIgniter, AngularJS, VueJS, JQuery, HTML, CSS, Web Development, SEO, WordPress, Drupal, Joomla, Custom Themes, Responsive Design, OOP, Web Security, Scalable Websites, MySQL, Linux Development, CMS"><meta name="twitter:description" content="Experienced Full-Stack Web Developer with 12+ years of expertise in ReactJS, NodeJS, PHP, and top frameworks like Laravel and CodeIgniter. Skilled in creating secure, scalable, and SEO-optimized websites, with a focus on responsive design and performance."><meta property="og:image" content="/static/images/me-bg.png"><meta name="twitter:image" content="/static/images/me-bg.png"><meta property="og:url" content="http://carlmanuel.orgfree.com/"><meta property="og:site_name" content="Carl Louis Manuel - Full-Stack Web Developer | 12+ Years of Experience"><meta name="twitter:card" content="summary"><meta name="twitter:site" content="@carlxaeron09"><meta name="twitter:creator" content="@carlxaeron09"><link rel="manifest" href="/manifest.json"/><title>Carl Louis Manuel - Full-Stack Web Developer | 12+ Years of Experience</title><script defer="defer" src="/static/js/main.933fa6e9.js"></script><link href="/static/css/main.de26213c.css" rel="stylesheet"><script defer="defer" src="/static/js/main.459e0187.js"></script><link href="/static/css/main.a6a12b4f.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>

docs/asset-manifest.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"files": {
33
"main.css": "/static/css/main.a6a12b4f.css",
4-
"main.js": "/static/js/main.7dce5bed.js",
4+
"main.js": "/static/js/main.459e0187.js",
55
"static/js/453.ed3810f9.chunk.js": "/static/js/453.ed3810f9.chunk.js",
66
"static/media/fontawesome-webfont.svg?v=4.7.0": "/static/media/fontawesome-webfont.c1e38fd9e0e74ba58f7a.svg",
77
"static/media/fontawesome-webfont.eot": "/static/media/fontawesome-webfont.8b43027f47b20503057d.eot",
@@ -17,11 +17,11 @@
1717
"static/media/about-bg.png": "/static/media/about-bg.5792e0a1b000bba9019c.png",
1818
"index.html": "/index.html",
1919
"main.a6a12b4f.css.map": "/static/css/main.a6a12b4f.css.map",
20-
"main.7dce5bed.js.map": "/static/js/main.7dce5bed.js.map",
20+
"main.459e0187.js.map": "/static/js/main.459e0187.js.map",
2121
"453.ed3810f9.chunk.js.map": "/static/js/453.ed3810f9.chunk.js.map"
2222
},
2323
"entrypoints": [
2424
"static/css/main.a6a12b4f.css",
25-
"static/js/main.7dce5bed.js"
25+
"static/js/main.459e0187.js"
2626
]
2727
}

docs/index.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<!doctype html><html lang="en" style="overflow-x:hidden"><head><meta charset="utf-8"/><link href="https://fonts.cdnfonts.com/css/poppins" rel="stylesheet"><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Open+Sans:300"><link href="https://fonts.googleapis.com/css?family=Pacifico&amp;display=swap" rel="stylesheet"><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Experienced Full-Stack Web Developer with 12+ years of expertise in ReactJS, NodeJS, PHP, and top frameworks like Laravel and CodeIgniter. Skilled in creating secure, scalable, and SEO-optimized websites, with a focus on responsive design and performance."/><meta name="keywords" content="Full-Stack Web Developer, ReactJS, NodeJS, PHP, Laravel, CodeIgniter, AngularJS, VueJS, JQuery, HTML, CSS, Web Development, SEO, WordPress, Drupal, Joomla, Custom Themes, Responsive Design, OOP, Web Security, Scalable Websites, MySQL, Linux Development, CMS"><link rel="canonical" href="https://carlxaeron.github.io"><link rel="sitemap" type="application/xml" title="Sitemap" href="/sitemap.xml"><meta property="og:locale" content="en_US"><meta property="og:type" content="portfolio"><meta property="og:title" content="Full-Stack Web Developer | 12+ Years of Experience"><meta name="twitter:title" content="Full-Stack Web Developer | 12+ Years of Experience"><meta property="og:description" content="Experienced Full-Stack Web Developer with 12+ years of expertise in ReactJS, NodeJS, PHP, and top frameworks like Laravel and CodeIgniter. Skilled in creating secure, scalable, and SEO-optimized websites, with a focus on responsive design and performance."/><meta name="keywords" content="Full-Stack Web Developer, ReactJS, NodeJS, PHP, Laravel, CodeIgniter, AngularJS, VueJS, JQuery, HTML, CSS, Web Development, SEO, WordPress, Drupal, Joomla, Custom Themes, Responsive Design, OOP, Web Security, Scalable Websites, MySQL, Linux Development, CMS"><meta name="twitter:description" content="Experienced Full-Stack Web Developer with 12+ years of expertise in ReactJS, NodeJS, PHP, and top frameworks like Laravel and CodeIgniter. Skilled in creating secure, scalable, and SEO-optimized websites, with a focus on responsive design and performance."><meta property="og:image" content="/static/images/me-bg.png"><meta name="twitter:image" content="/static/images/me-bg.png"><meta property="og:url" content="http://carlmanuel.orgfree.com/"><meta property="og:site_name" content="Carl Louis Manuel - Full-Stack Web Developer | 12+ Years of Experience"><meta name="twitter:card" content="summary"><meta name="twitter:site" content="@carlxaeron09"><meta name="twitter:creator" content="@carlxaeron09"><link rel="manifest" href="/manifest.json"/><title>Carl Louis Manuel - Full-Stack Web Developer | 12+ Years of Experience</title><script defer="defer" src="/static/js/main.933fa6e9.js"></script><link href="/static/css/main.de26213c.css" rel="stylesheet"><script defer="defer" src="/static/js/main.7dce5bed.js"></script><link href="/static/css/main.a6a12b4f.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
1+
<!doctype html><html lang="en" style="overflow-x:hidden"><head><meta charset="utf-8"/><link href="https://fonts.cdnfonts.com/css/poppins" rel="stylesheet"><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Open+Sans:300"><link href="https://fonts.googleapis.com/css?family=Pacifico&amp;display=swap" rel="stylesheet"><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Experienced Full-Stack Web Developer with 12+ years of expertise in ReactJS, NodeJS, PHP, and top frameworks like Laravel and CodeIgniter. Skilled in creating secure, scalable, and SEO-optimized websites, with a focus on responsive design and performance."/><meta name="keywords" content="Full-Stack Web Developer, ReactJS, NodeJS, PHP, Laravel, CodeIgniter, AngularJS, VueJS, JQuery, HTML, CSS, Web Development, SEO, WordPress, Drupal, Joomla, Custom Themes, Responsive Design, OOP, Web Security, Scalable Websites, MySQL, Linux Development, CMS"><link rel="canonical" href="https://carlxaeron.github.io"><link rel="sitemap" type="application/xml" title="Sitemap" href="/sitemap.xml"><meta property="og:locale" content="en_US"><meta property="og:type" content="portfolio"><meta property="og:title" content="Full-Stack Web Developer | 12+ Years of Experience"><meta name="twitter:title" content="Full-Stack Web Developer | 12+ Years of Experience"><meta property="og:description" content="Experienced Full-Stack Web Developer with 12+ years of expertise in ReactJS, NodeJS, PHP, and top frameworks like Laravel and CodeIgniter. Skilled in creating secure, scalable, and SEO-optimized websites, with a focus on responsive design and performance."/><meta name="keywords" content="Full-Stack Web Developer, ReactJS, NodeJS, PHP, Laravel, CodeIgniter, AngularJS, VueJS, JQuery, HTML, CSS, Web Development, SEO, WordPress, Drupal, Joomla, Custom Themes, Responsive Design, OOP, Web Security, Scalable Websites, MySQL, Linux Development, CMS"><meta name="twitter:description" content="Experienced Full-Stack Web Developer with 12+ years of expertise in ReactJS, NodeJS, PHP, and top frameworks like Laravel and CodeIgniter. Skilled in creating secure, scalable, and SEO-optimized websites, with a focus on responsive design and performance."><meta property="og:image" content="/static/images/me-bg.png"><meta name="twitter:image" content="/static/images/me-bg.png"><meta property="og:url" content="http://carlmanuel.orgfree.com/"><meta property="og:site_name" content="Carl Louis Manuel - Full-Stack Web Developer | 12+ Years of Experience"><meta name="twitter:card" content="summary"><meta name="twitter:site" content="@carlxaeron09"><meta name="twitter:creator" content="@carlxaeron09"><link rel="manifest" href="/manifest.json"/><title>Carl Louis Manuel - Full-Stack Web Developer | 12+ Years of Experience</title><script defer="defer" src="/static/js/main.933fa6e9.js"></script><link href="/static/css/main.de26213c.css" rel="stylesheet"><script defer="defer" src="/static/js/main.459e0187.js"></script><link href="/static/css/main.a6a12b4f.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>

docs/static/images/companies/GAD.jpeg

2.06 KB
Loading

docs/static/js/main.459e0187.js

+3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/static/js/main.459e0187.js.map

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/static/js/main.7dce5bed.js

-3
This file was deleted.

docs/static/js/main.7dce5bed.js.map

-1
This file was deleted.

firebase.json

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"firestore": {
3+
"rules": "firestore.rules",
4+
"indexes": "firestore.indexes.json"
5+
},
6+
"functions": [
7+
{
8+
"source": "functions",
9+
"codebase": "default",
10+
"ignore": [
11+
"node_modules",
12+
".git",
13+
"firebase-debug.log",
14+
"firebase-debug.*.log",
15+
"*.local"
16+
]
17+
}
18+
]
19+
}

firestore.indexes.json

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"indexes": [],
3+
"fieldOverrides": []
4+
}

firestore.rules

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
rules_version = '2';
2+
3+
service cloud.firestore {
4+
match /databases/{database}/documents {
5+
6+
// This rule allows anyone with your Firestore database reference to view, edit,
7+
// and delete all data in your Firestore database. It is useful for getting
8+
// started, but it is configured to expire after 30 days because it
9+
// leaves your app open to attackers. At that time, all client
10+
// requests to your Firestore database will be denied.
11+
//
12+
// Make sure to write security rules for your app before that time, or else
13+
// all client requests to your Firestore database will be denied until you Update
14+
// your rules
15+
match /{document=**} {
16+
allow read, write: if request.time < timestamp.date(2024, 11, 19);
17+
}
18+
}
19+
}

functions/.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
node_modules/
2+
*.local

functions/index.js

+66
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
/**
2+
* Import function triggers from their respective submodules:
3+
*
4+
* const {onCall} = require("firebase-functions/v2/https");
5+
* const {onDocumentWritten} = require("firebase-functions/v2/firestore");
6+
*
7+
* See a full list of supported triggers at https://firebase.google.com/docs/functions
8+
*/
9+
10+
const {onRequest} = require("firebase-functions/v2/https");
11+
const logger = require("firebase-functions/logger");
12+
const admin = require("firebase-admin");
13+
14+
admin.initializeApp();
15+
16+
// Create and deploy your first functions
17+
// https://firebase.google.com/docs/functions/get-started
18+
19+
exports.helloWorld = onRequest((request, response) => {
20+
logger.info("Hello logs!", {structuredData: true});
21+
response.send("Hello from Firebase!");
22+
});
23+
24+
const httpResponses = ({ data, message, errCode }) => ({
25+
success: {
26+
status: 200,
27+
message: message || "Success",
28+
data: data || {}
29+
},
30+
error: {
31+
status: 400,
32+
message: message || "Error",
33+
data: data || {},
34+
errCode: errCode || "",
35+
}
36+
});
37+
38+
const sendError = ({ request, response }, data) => {
39+
response.status(400).send(httpResponses(data).error);
40+
}
41+
42+
const sendSuccess = ({ request, response }, data) => {
43+
response.status(200).send(httpResponses(data).success);
44+
}
45+
46+
exports.contact = onRequest((request, response) => {
47+
const { name, email, message } = request.body;
48+
49+
// Perform validation on the request body
50+
if (!name || !email || !message) {
51+
sendError({ response }, { message: "Missing required fields" });
52+
return;
53+
}
54+
55+
const contactRef = admin.firestore().collection("contact").doc();
56+
contactRef.set({ name, email, message })
57+
.then(() => {
58+
logger.info("Contact data written to Firestore", { structuredData: true });
59+
sendSuccess({ response }, { message: "Contact request received" });
60+
})
61+
.catch((error) => {
62+
// log the error to the console and also put the error value in the structured data
63+
logger.error("Error writing contact data to Firestore", { structuredData: true, error });
64+
sendError({ response }, { message: "Error saving contact data" });
65+
});
66+
});

0 commit comments

Comments
 (0)