Skip to content

Commit a84527e

Browse files
Merge pull request #4 from david-read-iii/release/v1.1.0
Merge release/v1.1.0 into main
2 parents 722435d + 064ce6a commit a84527e

File tree

5 files changed

+79
-85
lines changed

5 files changed

+79
-85
lines changed

about.html

Lines changed: 17 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333

3434
</head>
3535

36-
<body class="h-100 d-flex flex-column text-white">
36+
<body class="min-vh-100 d-flex flex-column text-white">
3737

3838
<!-- Nav header. -->
3939
<nav class="mb-auto p-3 navbar navbar-expand-sm navbar-dark">
@@ -46,72 +46,37 @@
4646
<a class="nav-item nav-link" href="/">Home</a>
4747
<a class="nav-item nav-link active" href="about.html">About</a>
4848
<a class="nav-item nav-link" href="projects.html">Projects</a>
49-
<li class="nav-item dropdown">
50-
<a class="nav-link dropdown-toggle" href="#" id="resume-dropdown" role="button"
51-
data-bs-toggle="dropdown" aria-expanded="false">
52-
Resumes
53-
</a>
54-
<ul class="dropdown-menu" id="resume-dropdown-menu" aria-labelledby="resume-dropdown"></ul>
55-
</li>
49+
<div id="resume-nav-item-container"></div>
5650
<a class="nav-item nav-link" href="contact.html">Contact</a>
5751
</div>
5852

5953
</nav>
6054

61-
6255
<!-- Main content. -->
63-
<main class="p-5">
64-
65-
<h3>Started from a young age</h3>
56+
<main class="p-5 container flex-grow-1">
6657

58+
<h3>Early Passion For Technology</h3>
6759
<p>
68-
My software development journey began in my early high school years when I downloaded the Android Studio
69-
IDE. I had a soundboard app idea and thought I could make some easy money releasing something cool on the
70-
Google Play Store. I thought the whole thing
71-
would be a piece of cake. Code the app, release it, and profit. I learned immediately that it wasn't so
72-
simple. Instead of giving up, I placed the app idea on the backburner and completed smaller projects to work
73-
my way up to this level. I
74-
learned an important lesson from the experience: anything worth doing is not simple and achieving your goals
75-
requires resiliency and patience.
60+
My fascination with technology started early. I spent years learning Java and Android development,
61+
culminating in creating a soundboard app. In high school, I developed the top project in my Intro to
62+
Computer Science course—a professional-looking Star Wars ship shooter game.
7663
</p>
77-
7864
<p>
79-
My high school's Introduction to Computer Science course was what jumpstarted my software development
80-
journey. It was here where I learned computer science concepts for the first time and learned my first
81-
programming language: Java. I became so engrossed
82-
in this course that I spent an entire month coding my final project, which was a Star Wars ship shooter game
83-
within a Java applet. I was lucky enough to have a very capable and supportive teacher who encouraged me to
84-
pursue this in university.
65+
This passion led me to pursue a B.S. in Computer Science at Montclair State University (2017–2021), where I
66+
graduated magna cum laude with a 3.85 GPA. I particularly enjoyed Database Systems, Mobile Computing, and
67+
Software Engineering courses. I also held a leadership role in the Computer Club, organizing and leading
68+
meetings.
8569
</p>
8670

87-
<h3 class="mt-5">Studies in university</h3>
88-
71+
<h3 class="mt-5">Android Development at JPMorganChase</h3>
8972
<p>
90-
I pursued my bachelor's degree in computer science from Montclair State University from September 2017 to
91-
May 2021. I excelled in my studies here, finishing with a 3.85 overall GPA, being awarded Dean's List seven
92-
out of eight of my semesters, and graduating
93-
with magna cum laude. The courses I enjoyed the most during my time here included Database Systems, Mobile
94-
Computing, and Software Engineering.
73+
After graduation, I joined Wiley Edge as a contractor and quickly earned a full-time role at JPMorgan Chase
74+
through my dedication and technical skills. Now, I contribute to a high-performing scrum team that develops
75+
business banking products for the Chase Mobile app, impacting 10+ million users daily.
9576
</p>
96-
97-
<h3 class="mt-5">Getting involved in university</h3>
98-
9977
<p>
100-
It was around junior year that I realized that I wasn't all too involved with my university. One of the ways
101-
I remedied this feeling was through applying for a leadership position for my university's computer club.
102-
This landed me with a public relations
103-
position with the organization. This position required a lot of work, of course. I had to manage social
104-
media pages, draft announcements, organize workshops, and lead meetings. It was definitely worth it, though.
105-
I got to regularly network
106-
with students and feel that I was contributing to something.
107-
</p>
108-
109-
<h3 class="mt-5">What's next?</h3>
110-
111-
<p class="mb-0">
112-
Now that I've officially graduated, I'm eager to start applying my skills in some type of software
113-
development position. I'd love to start in either front end or mobile app development and work my way into
114-
full stack development.
78+
I'm passionate about building scalable, high-performance Android applications and continuously expanding my
79+
expertise in Kotlin, Jetpack, and modern Android architectures.
11580
</p>
11681

11782
</main>

contact.html

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,7 @@
4747
<a class="nav-item nav-link" href="/">Home</a>
4848
<a class="nav-item nav-link" href="about.html">About</a>
4949
<a class="nav-item nav-link" href="projects.html">Projects</a>
50-
<li class="nav-item dropdown">
51-
<a class="nav-link dropdown-toggle" href="#" id="resume-dropdown" role="button"
52-
data-bs-toggle="dropdown" aria-expanded="false">
53-
Resumes
54-
</a>
55-
<ul class="dropdown-menu" id="resume-dropdown-menu" aria-labelledby="resume-dropdown"></ul>
56-
</li>
50+
<div id="resume-nav-item-container"></div>
5751
<a class="nav-item nav-link active" href="contact.html">Contact</a>
5852
</div>
5953

@@ -63,8 +57,8 @@
6357
<main class="p-5 text-center">
6458

6559
<!-- Greeting. -->
66-
<h3>Want to talk about something cool?</h3>
67-
<p class="mb-3">Hit me up at <a href="" id="email-link"
60+
<h3>Always happy to chat about cool projects or new opportunities.</h3>
61+
<p class="mb-3">You can reach me at <a href="" id="email-link"
6862
onclick="copyEmailToClipboard()">david.read.me@gmail.com</a>!</p>
6963

7064
<!-- Email me button. -->

index.html

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,7 @@
4646
<a class="nav-item nav-link active" href="/">Home</a>
4747
<a class="nav-item nav-link" href="about.html">About</a>
4848
<a class="nav-item nav-link" href="projects.html">Projects</a>
49-
<li class="nav-item dropdown">
50-
<a class="nav-link dropdown-toggle" href="#" id="resume-dropdown" role="button"
51-
data-bs-toggle="dropdown" aria-expanded="false">
52-
Resumes
53-
</a>
54-
<ul class="dropdown-menu" id="resume-dropdown-menu" aria-labelledby="resume-dropdown"></ul>
55-
</li>
49+
<div id="resume-nav-item-container"></div>
5650
<a class="nav-item nav-link" href="contact.html">Contact</a>
5751
</div>
5852

@@ -67,7 +61,7 @@
6761

6862
<!-- Introduction text. -->
6963
<h3>Hello, there! My name is David.</h3>
70-
<p class="m-0">I'm an aspiring full stack software developer.</p>
64+
<p class="m-0">I'm a software engineer specializing in Android and mobile development.</p>
7165

7266
</main>
7367

js/navbar.js

Lines changed: 56 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,57 @@
1+
/**
2+
* Sets up the content within the resume nav item container. If only one resume is given, will display a
3+
* single Resume link. If more than one resume is given, will display a dropdown where a specific resume
4+
* may be selected.
5+
*
6+
* @param {Object[]} resumes - The resumes to display.
7+
*/
8+
function setupResumeNavItemContainer(resumes) {
9+
10+
var resumeNavItemContainer = document.getElementById("resume-nav-item-container");
11+
12+
if (resumes.length > 1) {
13+
// Setup outer li tag.
14+
var outerListItem = document.createElement("li");
15+
outerListItem.setAttribute("class", "nav-item dropdown");
16+
17+
resumeNavItemContainer.appendChild(outerListItem);
18+
19+
// Setup resume button.
20+
var resumesLink = document.createElement("a");
21+
resumesLink.setAttribute("class", "nav-link dropdown-toggle");
22+
resumesLink.setAttribute("href", "#");
23+
resumesLink.setAttribute("id", "resume-dropdown");
24+
resumesLink.setAttribute("role", "button");
25+
resumesLink.setAttribute("data-bs-toggle", "dropdown");
26+
resumesLink.setAttribute("aria-expanded", "false");
27+
resumesLink.textContent = "Resumes";
28+
29+
outerListItem.appendChild(resumesLink);
30+
31+
// Setup ul tag.
32+
var resumeDropdownMenu = document.createElement("ul");
33+
resumeDropdownMenu.setAttribute("class", "dropdown-menu");
34+
resumeDropdownMenu.setAttribute("id", "resume-dropdown-menu");
35+
resumeDropdownMenu.setAttribute("aria-labelledby", "resume-dropdown");
36+
37+
outerListItem.appendChild(resumeDropdownMenu);
38+
39+
// Add an item in the resume dropdown menu for each resume in the resumes array.
40+
for (var i = 0; i < resumes.length; i++) {
41+
addItemToResumeDropdownMenu(resumeDropdownMenu, resumes[i]);
42+
}
43+
} else { // resumes.length == 1
44+
var resumeLink = document.createElement("a");
45+
resumeLink.setAttribute("class", "nav-item nav-link");
46+
resumeLink.setAttribute("href", resumes[0].url);
47+
resumeLink.setAttribute("target", "_blank");
48+
resumeLink.setAttribute("rel", "noreferrer noopener");
49+
resumeLink.textContent = "Resume";
50+
51+
resumeNavItemContainer.appendChild(resumeLink);
52+
}
53+
}
54+
155
/**
256
* Adds a dropdown item representing the passed resume object to the resume dropdown menu.
357
*
@@ -12,22 +66,15 @@ function addItemToResumeDropdownMenu(dropdownMenu, resume) {
1266
htmlAElement.setAttribute("href", resume.url);
1367
htmlAElement.setAttribute("target", "_blank");
1468
htmlAElement.setAttribute("rel", "noreferrer noopener");
15-
htmlAElement.innerHTML = resume.name;
69+
htmlAElement.textContent = resume.name;
1670

1771
htmlLiElement.appendChild(htmlAElement);
1872
dropdownMenu.appendChild(htmlLiElement);
1973
}
2074

2175
$(document).ready(function () {
22-
2376
// Get resumes array using a GET HTTP request.
2477
$.getJSON("https://david-read-portfolio-default-rtdb.firebaseio.com/resumes.json", function (resumes) {
25-
26-
// Add an item in the resume dropdown menu for each resume in the resumes array.
27-
var resumeDropdownMenu = document.getElementById("resume-dropdown-menu");
28-
for (var i = 0; i < resumes.length; i++) {
29-
addItemToResumeDropdownMenu(resumeDropdownMenu, resumes[i]);
30-
}
78+
setupResumeNavItemContainer(resumes)
3179
});
32-
3380
});

projects.html

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,7 @@
4747
<a class="nav-item nav-link" href="/">Home</a>
4848
<a class="nav-item nav-link" href="about.html">About</a>
4949
<a class="nav-item nav-link active" href="projects.html">Projects</a>
50-
<li class="nav-item dropdown">
51-
<a class="nav-link dropdown-toggle" href="#" id="resume-dropdown" role="button"
52-
data-bs-toggle="dropdown" aria-expanded="false">
53-
Resumes
54-
</a>
55-
<ul class="dropdown-menu" id="resume-dropdown-menu" aria-labelledby="resume-dropdown"></ul>
56-
</li>
50+
<div id="resume-nav-item-container"></div>
5751
<a class="nav-item nav-link" href="contact.html">Contact</a>
5852
</div>
5953

0 commit comments

Comments
 (0)