Skip to content

Commit f8bffef

Browse files
Revised code for forking purposes, removed use of firebase as it's only needed for deployment.
1 parent c6b9590 commit f8bffef

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+24536
-1
lines changed
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# This file was auto-generated by the Firebase CLI
2+
# https://github.com/firebase/firebase-tools
3+
4+
name: Deploy to Firebase Hosting on merge
5+
on:
6+
push:
7+
branches:
8+
- main
9+
jobs:
10+
build_and_deploy:
11+
runs-on: ubuntu-latest
12+
steps:
13+
# Step 1: Checkout the repository
14+
- uses: actions/checkout@v4
15+
16+
# Step 2: Install dependencies and build the project
17+
- name: Install dependencies and build
18+
env:
19+
REACT_APP_FIREBASE_API_KEY: ${{ secrets.FIREBASE_API_KEY }}
20+
REACT_APP_FIREBASE_AUTH_DOMAIN: ${{ secrets.FIREBASE_AUTH_DOMAIN }}
21+
REACT_APP_FIREBASE_PROJECT_ID: ${{ secrets.FIREBASE_PROJECT_ID }}
22+
REACT_APP_FIREBASE_STORAGE_BUCKET: ${{ secrets.FIREBASE_STORAGE_BUCKET }}
23+
REACT_APP_FIREBASE_MESSAGING_SENDER_ID: ${{ secrets.FIREBASE_MESSAGING_SENDER_ID }}
24+
REACT_APP_FIREBASE_APP_ID: ${{ secrets.FIREBASE_APP_ID }}
25+
REACT_APP_FIREBASE_MEASUREMENT_ID: ${{ secrets.FIREBASE_MEASUREMENT_ID }}
26+
REACT_APP_EMAILJS_USER_ID: ${{ secrets.EMAILJS_USER_ID }}
27+
REACT_APP_EMAILJS_SERVICE_ID: ${{ secrets.EMAILJS_SERVICE_ID }}
28+
REACT_APP_EMAILJS_TEMPLATE_ID: ${{ secrets.EMAILJS_TEMPLATE_ID }}
29+
REACT_APP_EMAILJS_FROM_EMAIL: ${{ secrets.EMAILJS_FROM_EMAIL }}
30+
run: |
31+
npm ci
32+
npm run build
33+
34+
# Step 3: Deploy to Firebase Hosting
35+
- name: Deploy to Firebase Hosting
36+
uses: FirebaseExtended/action-hosting-deploy@v0
37+
with:
38+
repoToken: ${{ secrets.GITHUB_TOKEN }}
39+
firebaseServiceAccount: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_PORTFOLIO_SITE_V2_E1015 }}
40+
channelId: live
41+
projectId: portfolio-site-v2-e1015
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# This file was auto-generated by the Firebase CLI
2+
# https://github.com/firebase/firebase-tools
3+
4+
name: Deploy to Firebase Hosting on PR
5+
6+
on: pull_request
7+
8+
permissions:
9+
checks: write
10+
contents: read
11+
pull-requests: write
12+
13+
jobs:
14+
build_and_preview:
15+
if: ${{ github.event.pull_request.head.repo.full_name == github.repository }}
16+
runs-on: ubuntu-latest
17+
steps:
18+
# Step 1: Checkout the repository
19+
- name: Checkout code
20+
uses: actions/checkout@v4
21+
22+
# Step 2: Install dependencies and build the project
23+
- name: Install dependencies and build
24+
env:
25+
REACT_APP_FIREBASE_API_KEY: ${{ secrets.FIREBASE_API_KEY }}
26+
REACT_APP_FIREBASE_AUTH_DOMAIN: ${{ secrets.FIREBASE_AUTH_DOMAIN }}
27+
REACT_APP_FIREBASE_PROJECT_ID: ${{ secrets.FIREBASE_PROJECT_ID }}
28+
REACT_APP_FIREBASE_STORAGE_BUCKET: ${{ secrets.FIREBASE_STORAGE_BUCKET }}
29+
REACT_APP_FIREBASE_MESSAGING_SENDER_ID: ${{ secrets.FIREBASE_MESSAGING_SENDER_ID }}
30+
REACT_APP_FIREBASE_APP_ID: ${{ secrets.FIREBASE_APP_ID }}
31+
REACT_APP_FIREBASE_MEASUREMENT_ID: ${{ secrets.FIREBASE_MEASUREMENT_ID }}
32+
REACT_APP_EMAILJS_USER_ID: ${{ secrets.EMAILJS_USER_ID }}
33+
REACT_APP_EMAILJS_SERVICE_ID: ${{ secrets.EMAILJS_SERVICE_ID }}
34+
REACT_APP_EMAILJS_TEMPLATE_ID: ${{ secrets.EMAILJS_TEMPLATE_ID }}
35+
REACT_APP_EMAILJS_FROM_EMAIL: ${{ secrets.EMAILJS_FROM_EMAIL }}
36+
run: |
37+
npm ci
38+
npm run build
39+
40+
# Step 3: Deploy a preview to Firebase Hosting
41+
- name: Deploy a preview to Firebase Hosting
42+
uses: FirebaseExtended/action-hosting-deploy@v0
43+
with:
44+
repoToken: ${{ secrets.GITHUB_TOKEN }}
45+
firebaseServiceAccount: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_PORTFOLIO_SITE_V2_E1015 }}
46+
projectId: portfolio-site-v2-e1015
47+
channelId: pr-${{ github.event.pull_request.number }}

.gitignore

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2+
3+
# dependencies
4+
/node_modules
5+
/.pnp
6+
.pnp.js
7+
8+
# testing
9+
/coverage
10+
11+
# misc
12+
.DS_Store
13+
.env.local
14+
.env.development.local
15+
.env.test.local
16+
.env.production.local
17+
.env
18+
19+
# Not needed unless I'm deploying (not the case for this repo)
20+
/build
21+
22+
# Firebase
23+
/firebase.json
24+
/.firebaserc
25+
/firebase-debug.log
26+
.firebase/
27+
28+
# logs
29+
npm-debug.log*
30+
yarn-debug.log*
31+
yarn-error.log*

LICENSE.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) [2025] [Logan Falkenberg]
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 136 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,136 @@
1-
# My-Portfolio-Site
1+
# ✨ Logan Falkenberg’s Portfolio Site 🌟
2+
3+
👋 **Welcome!** Thanks for checking out my portfolio’s codebase! If you decide to use it, please reference the link back to this repo somewhere visible in your code or documentation. And hey—while you’re at it, drop me a follow on GitHub! Your support genuinely means a lot. 🙌
4+
5+
---
6+
7+
## 🛠️ Tech Stack
8+
9+
This project harnesses a range of modern tools and technologies:
10+
11+
1. **⚛️ React.js**
12+
Driving the front end, React’s modular structure makes it easy to build and maintain an interactive UI.
13+
14+
2. **🎨 Figma**
15+
I redesigned my resume in Figma (originally made in Canva). I exported it as an SVG to feed into Spline for 3D rendering and hero section animations.
16+
17+
3. **💫 Spline**
18+
Powers interactive 3D elements. I briefly used the premium version to remove watermarks and unlock extra features.
19+
20+
4. **🔥 Firebase**
21+
Hosts the website and ensures things run smoothly for visitors. No more complicated servers—just quick deployment.
22+
23+
5. **⚙️ GitHub Actions**
24+
Every time I push changes, GitHub Actions automatically updates the live site, so you’re always seeing the latest version.
25+
26+
6. **🌐 Namecheap**
27+
Keeps the domain name—[loganfalkenberg.com](http://loganfalkenberg.com/)—up and running.
28+
29+
7. **💻 Uiverse.io**
30+
Adds that extra bit of flair with open-source HTML/CSS components and dynamic UI elements.
31+
32+
8. **📧 Email.js**
33+
Handles the contact form functionality, letting users shoot me an email directly from the site.
34+
35+
---
36+
37+
## 🚀 Getting Started
38+
39+
Feel free to clone or fork this repo to get it running on your own machine:
40+
41+
### **1. Clone the Repository**
42+
43+
```bash
44+
git clone https://github.com/username/repo-name.git
45+
```
46+
47+
### **2. Navigate to the Project Directory**
48+
49+
```bash
50+
cd repo-name
51+
```
52+
53+
### **3. Install Dependencies**
54+
55+
Make sure Node.js is installed. Then run:
56+
57+
```bash
58+
npm install
59+
```
60+
61+
### **4. Start the Application**
62+
63+
```bash
64+
npm run
65+
```
66+
67+
🌐 Open `http://localhost:3000` in your browser, and you’re good to go!
68+
69+
---
70+
71+
## 🤝 How to Fork and Pull Changes
72+
73+
Contributions are always welcome! Here’s how you can fork the repo, tinker with the code, and open a pull request:
74+
75+
1. Visit: `https://github.com/username/repo-name`
76+
2. Click **Fork** in the upper-right corner.
77+
3. Clone your newly forked repo:
78+
```bash
79+
git clone https://github.com/your-username/repo-name.git
80+
```
81+
4. Check out the **Getting Started** steps above.
82+
5. Make your edits. ✏️
83+
6. Push to your forked repo.
84+
7. Create a Pull Request:
85+
- On your repo page, navigate to **Pull requests** > **New pull request**.
86+
- Compare changes and submit. 🚀
87+
88+
---
89+
90+
## 🌟 Key Features
91+
92+
- **Immersive 3D Scenes** using **Spline**.
93+
- **Dynamic UI Components** thanks to **Uiverse.io**.
94+
- **Built-In Email Functionality** with **Email.js** (no separate backend needed!).
95+
- **Real-Time Deployment** via **Firebase** & **GitHub Actions**.
96+
- **Sleek, Professional Design** from **Figma** & **Canva**.
97+
98+
---
99+
100+
## 💰 Project Costs
101+
102+
Just to be transparent, here’s what keeps this project running:
103+
104+
- **Spline.io Premium**: $10 for a one-month subscription (mainly to remove watermarks and unlock goodies).
105+
- **Namecheap Domain**: ~$11 per year for loganfalkenberg.com.
106+
107+
**🤑 Total Upfront Cost:** $21
108+
**💸 Ongoing Cost:** $11/year
109+
110+
---
111+
112+
## 📚 Helpful Resources
113+
114+
- [React.js Documentation](https://reactjs.org/docs/getting-started.html)
115+
- [Spline](https://spline.design/)
116+
- [Uiverse.io](https://uiverse.io/)
117+
- [Email.js](https://www.emailjs.com/)
118+
- [Firebase Documentation](https://firebase.google.com/docs)
119+
120+
---
121+
122+
## 📜 License
123+
124+
This project is licensed under the MIT License. See the `LICENSE` file for details.
125+
126+
---
127+
128+
## 🎉 Credits
129+
130+
- [Document used for reference and inspiration](https://docs.google.com/document/d/1wXuXgStf9ZTEIpFYRuRH1Y-wH3LffQFrsgiky4xQa50/edit?tab=t.0#heading=h.y8r13cuesee2)
131+
132+
---
133+
134+
Thanks for stopping by! ✌️ Let me know if you have questions or feedback. 💬
135+
```
136+

0 commit comments

Comments
 (0)