feat: Update resume summary
All checks were successful
Build Docker / BuildImage (push) Successful in 2m31s

Make api endpoints more consistent
This commit is contained in:
2025-10-09 16:03:52 +11:00
parent 08f80ddb5c
commit 98597768f3
3 changed files with 30 additions and 20 deletions

Binary file not shown.

View File

@@ -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)

View File

@@ -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 |&nbsp;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>