feat: Update resume summary
All checks were successful
Build Docker / BuildImage (push) Successful in 2m31s
All checks were successful
Build Docker / BuildImage (push) Successful in 2m31s
Make api endpoints more consistent
This commit is contained in:
BIN
data/resume.pdf
BIN
data/resume.pdf
Binary file not shown.
24
server.py
24
server.py
@@ -410,27 +410,33 @@ def donateAmountPost(amount):
|
||||
|
||||
# region Other API routes
|
||||
@app.route("/api/version")
|
||||
@app.route("/api/v1/version")
|
||||
def version():
|
||||
return jsonify({"version": getVersion()})
|
||||
|
||||
|
||||
@app.route("/api")
|
||||
@app.route("/api/")
|
||||
@app.route("/api/v1")
|
||||
@app.route("/api/v1/")
|
||||
@app.route("/api/help")
|
||||
def help():
|
||||
return jsonify({
|
||||
"message": "Welcome to Nathan.Woodburn/ API! This is a personal website. For more information, visit https://nathan.woodburn.au",
|
||||
"endpoints": {
|
||||
"/api/time": "Get the current time",
|
||||
"/api/timezone": "Get the current timezone",
|
||||
"/api/message": "Get the message from the config",
|
||||
"/api/ip": "Get your IP address",
|
||||
"/api/v1/time": "Get the current time",
|
||||
"/api/v1/timezone": "Get the current timezone",
|
||||
"/api/v1/message": "Get the message from the config",
|
||||
"/api/v1/ip": "Get your IP address",
|
||||
"/api/v1/project": "Get the current project from git",
|
||||
"/api/version": "Get the current version of the website"
|
||||
"/api/v1/version": "Get the current version of the website",
|
||||
"/api/v1/help": "Get this help message"
|
||||
},
|
||||
"version": getVersion()
|
||||
})
|
||||
|
||||
|
||||
@app.route("/api/time")
|
||||
@app.route("/api/v1/time")
|
||||
def time():
|
||||
timezone_offset = datetime.timedelta(hours=ncConfig["time-zone"])
|
||||
timezone = datetime.timezone(offset=timezone_offset)
|
||||
@@ -444,11 +450,13 @@ def time():
|
||||
|
||||
|
||||
@app.route("/api/timezone")
|
||||
@app.route("/api/v1/timezone")
|
||||
def timezone():
|
||||
return jsonify({"timezone": ncConfig["time-zone"]})
|
||||
|
||||
|
||||
@app.route("/api/timezone", methods=["POST"])
|
||||
@app.route("/api/v1/timezone", methods=["POST"])
|
||||
def timezonePost():
|
||||
# Refresh config
|
||||
global ncConfig
|
||||
@@ -467,16 +475,19 @@ def timezonePost():
|
||||
|
||||
|
||||
@app.route("/api/message")
|
||||
@app.route("/api/v1/message")
|
||||
def nc():
|
||||
return jsonify({"message": ncConfig["message"]})
|
||||
|
||||
|
||||
@app.route("/api/ip")
|
||||
@app.route("/api/v1/ip")
|
||||
def ip():
|
||||
return jsonify({"ip": getClientIP(request)})
|
||||
|
||||
|
||||
@app.route("/api/email", methods=["POST"])
|
||||
@app.route("/api/v1/email", methods=["POST"])
|
||||
def email():
|
||||
# Verify json
|
||||
if not request.is_json:
|
||||
@@ -1335,7 +1346,6 @@ def podsync():
|
||||
|
||||
# endregion
|
||||
|
||||
|
||||
# region Error Catching
|
||||
# 404 catch all
|
||||
@app.errorhandler(404)
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
<div style="max-width: 2000px;margin: auto;">
|
||||
<div style="margin-bottom: 50px;">
|
||||
<h1 class="r-heading3" style="font-size: 25px;">Summary</h1>
|
||||
<p class="r-body">Cybersecurity-focused computing student with hands-on experience in DNS, Linux system administration, server infrastructure, and decentralized technologies. Skilled in providing technical support, resolving complex domain-related issues, and engaging in open-source blockchain communities. Experienced speaker and contributor at Handshake-related conferences. Passionate about building secure, resilient, and privacy-respecting systems from the ground up.</p>
|
||||
<p class="r-body">Linux and server administration student with experience managing servers, DNS, virtualization, and networking. Skilled in deploying and maintaining self-hosted services, troubleshooting complex system issues, and building resilient, automated infrastructures. Passionate about open-source tools and practical system design.</p>
|
||||
</div>
|
||||
<div class="row row-cols-1 row-cols-lg-2 row-cols-xl-2 row-cols-xxl-2">
|
||||
<div class="col">
|
||||
@@ -112,7 +112,7 @@
|
||||
<h6 class="r-heading3">Australian National University | 2022 - Present</h6>
|
||||
<ul class="r-body">
|
||||
<li>Currently pursuing a Bachelor of Computing with a specialization in cybersecurity.</li>
|
||||
<li>Gaining hands-on experience in network security, cryptography, and secure software development.</li>
|
||||
<li>Gaining hands-on experience in network security, system design, and secure software development.</li>
|
||||
<li>Building a strong foundation in computer science principles, programming, and system architecture.</li>
|
||||
<li>Collaborating on group projects and labs to apply theoretical knowledge to real-world challenges.</li>
|
||||
</ul>
|
||||
@@ -132,7 +132,7 @@
|
||||
<h4 class="r-heading2">Home Educated</h4>
|
||||
<h6 class="r-heading3">Self-Directed Learning</h6>
|
||||
<ul class="r-body">
|
||||
<li>Cultivated time management, self-discipline, and critical thinking skills crucial for success in tech and cybersecurity.</li>
|
||||
<li>Cultivated time management, self-discipline, and critical thinking skills crucial for success in tech.</li>
|
||||
<li>Developed a strong passion for technology, programming, and system administration through independent exploration.</li>
|
||||
<li>Built custom applications, managed servers, and solved technical challenges in a flexible learning environment.</li>
|
||||
</ul>
|
||||
@@ -142,16 +142,7 @@
|
||||
</div>
|
||||
<div class="spacer"></div>
|
||||
<div class="col">
|
||||
<div class="noprintbreak">
|
||||
<h1 class="r-heading1">Projects</h1>
|
||||
<h4 class="r-heading2">FireWallet</h4>
|
||||
<h6 class="r-heading3">Python, Handshake, Plugin Architecture</h6>
|
||||
<ul class="r-body">
|
||||
<li>Developed a modular Python-based Handshake wallet with plugin support for extensibility.</li>
|
||||
<li>Presented at HandyCon 2024 and 2025, showcasing usability improvements and HNS site resolution.</li>
|
||||
</ul>
|
||||
<hr>
|
||||
</div>
|
||||
<div class="noprintbreak">
|
||||
<h4 class="r-heading2">Server Lab</h4>
|
||||
<h6 class="r-heading3">Proxmox, Networking, Linux, DNS</h6>
|
||||
@@ -173,6 +164,15 @@
|
||||
</ul>
|
||||
<hr>
|
||||
</div>
|
||||
<div class="noprintbreak">
|
||||
<h4 class="r-heading2">FireWallet</h4>
|
||||
<h6 class="r-heading3">Python, Handshake, Plugin Architecture</h6>
|
||||
<ul class="r-body">
|
||||
<li>Developed a modular Python-based Handshake wallet with plugin support for extensibility.</li>
|
||||
<li>Presented at HandyCon 2024 and 2025, showcasing usability improvements and HNS site resolution.</li>
|
||||
</ul>
|
||||
<hr>
|
||||
</div>
|
||||
</div>
|
||||
<div class="spacer"></div>
|
||||
<div>
|
||||
|
||||
Reference in New Issue
Block a user