Skip to content
View Tamziycode's full-sized avatar

Highlights

  • Pro

Block or report Tamziycode

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Tamziycode/README.md
Tamilore Banner

LinkedIn Email Portfolio


whoAmI

{
  "name": "Tamilore Afolabi",
  "alias": "Tamziy",
  "role": "Full-Stack Software Engineer",
  "location": "Ibadan, Nigeria",
  "focus": [
    "Backend systems that scale",
    "Auth flows that can't be bypassed",
    "Transactions that stay consistent under concurrency",
    "APIs built for the long run"
  ],
  "stack": {
    "backend": ["Java", "Spring Boot", "Node.js", "Express"],
    "frontend": ["React", "Vite", "HTML", "CSS"],
    "databases": ["MySQL", "PostgreSQL", "MongoDB"],
    "security": ["JWT", "bcrypt", "RBAC", "Spring Security"]
  },
  "currently": "Mastering Spring Boot — layered architecture, JPA/Hibernate, Spring Security",
  "philosophy": "I don't just ship features. I engineer the layer underneath them."
}

[ TECH_STACK ]

Languages & Core

Java JavaScript SQL HTML5 CSS3

Frameworks & Runtimes

Spring Boot Node.js Express React Vite

Databases

MySQL PostgreSQL MongoDB

Security & Auth

JWT Spring Security bcrypt

Tools

Git Postman VS Code

In Progress

JUnit5 Docker Redis


[ ACTIVE_PROCESSES ]

  • Spring Boot: Mastering layered architecture — service/repository separation, JPA entity relationships, Spring Security. Migrating from Node.js-first thinking to proper enterprise patterns
  • DSA: Daily problem-solving focused on pattern recognition, time complexity, and solutions that hold up under scale — arrays, linked lists, recursion, DP
  • Systems thinking: Concurrency control, data integrity under load, and access control architecture

[ FLAGSHIP_SYSTEM ] — Learnova

Production-grade e-learning platform with dual user roles, end-to-end JWT auth, email verification, and a custom dark-mode design system. Built across four deliberate phases.

System Architecture

graph TD
    Client["React 19 Frontend"] -->|HTTPS| API["Express 5 REST API"]
    API --> AuthMW["JWT Auth Middleware"]
    AuthMW -->|Valid token| RoleMW["Role Guard Middleware"]
    RoleMW -->|Student| SC["Student Controllers"]
    RoleMW -->|Instructor| IC["Instructor Controllers"]
    SC --> DB[("MySQL Database")]
    IC --> DB
    DB -->|WHERE instructor_id = ?| IC
    API -->|Signup trigger| Email["Resend API"]
    Email -->|32-byte token| Inbox["User Inbox"]
    Inbox -->|/verify| API

    style Client fill:#0c1018,color:#61DAFB,stroke:#61DAFB
    style API fill:#0c1018,color:#339933,stroke:#339933
    style AuthMW fill:#0c1018,color:#ff2d1f,stroke:#ff2d1f
    style RoleMW fill:#0c1018,color:#ff2d1f,stroke:#ff2d1f
    style SC fill:#0c1018,color:#e8edf5,stroke:#263044
    style IC fill:#0c1018,color:#e8edf5,stroke:#263044
    style DB fill:#0c1018,color:#4479A1,stroke:#4479A1
    style Email fill:#0c1018,color:#EA4335,stroke:#EA4335
    style Inbox fill:#0c1018,color:#8a95a8,stroke:#263044
Loading

Engineering Breakdown

Layer What was built Why it matters
Auth JWT stateless sessions + bcrypt (cost 10). Signup triggers branded email with 32-byte cryptographic token Accounts locked at API level until confirmed — not just a UI gate
RBAC Three independent layers: React route guard → Express middleware → SQL ownership check No client-side bypass can reach data — unauthorised access is structurally impossible
Session AuthContext handles token expiry and invalid tokens as separate cases No broken states served — redirect fires before stale data renders
Content YouTube URL parser handles watch / youtu.be / embed / Shorts Search + filter state in URL params — every filtered view is directly linkable
Prod Error boundaries, skeletons, typed token error responses, CORS locked to origin ~30 files, 1,200+ line CSS design system, responsive to 320px

>> Exception Handling & Edge Cases

  • Stale State Rejection: If a user’s JWT expires while they are filling out a form, the API rejects the submission and the React AuthContext catches the 401, clears local storage, and preserves the user's input state while forcing a re-auth.
  • Concurrent Video Tracking: Handles edge cases where a user opens the same course in two tabs; progress tracking enforces a "latest timestamp wins" rule to prevent database deadlocks.

>> Performance Benchmarks (Local)

  • Auth Overhead: Custom JWT middleware adds <15ms latency to protected routes.
  • Query Optimization: Indexed instructor_id foreign keys dropped course-fetching queries from O(n) table scans to O(log n), averaging 120ms response times in local testing.

[Insert screenshot of Postman test suite passing or API logs blocking an unauthorized request here]


React Node.js Express MySQL

GitHub Repo Live Demo


[ ANCILLARY_SYSTEMS ]

// GigConnect

Escrow-Backed Service Marketplace  ·  Hackathon

Financial trust engineered into the architecture — not bolted on.

  • Interswitch API escrow — funds held until both parties confirm completion, no mediator needed
  • Webhook handler + idempotency key validation — prevents double-charging on retries
  • Community price index aggregates rates platform-wide — anti-exploitation against gouging
  • Geolocation routing to nearest available professional
  • Strict MVC — auth, job lifecycle, chat in independent testable modules

Node.js Express Interswitch

Repo

// Library Management API

Enterprise REST API  ·  Concurrency Focus

Built for correctness under pressure. Architecture prioritises data integrity over convenience.

  • Pessimistic locking on borrow transactions — concurrent requests for the last copy cannot both succeed
  • Transactional Rollback: If an inventory decrement succeeds but the borrow record insert fails, the entire SQL transaction rolls back to prevent phantom missing books
  • JWT RBAC — admin (inventory write) vs patron (borrow/view), enforced at middleware layer
  • Performance: Paginated and indexed search endpoints maintain <80ms response times even when simulating 10,000+ mock book records

Node.js MySQL JWT

Repo

// Computerized Exam System

Browser-Level Security

Anti-cheat logic in a middleware layer — no UI action trusted at face value.

  • Visibility API + fullscreen lock + input interception — tab switches caught before reaching the DOM
  • Session state serialised on each answer — recovers in under 1s after interruption, no answer loss
  • Violations logged with timestamp and event type — tamper evidence, not just prevention
  • MongoDB for flexible session document storage — exam snapshots without rigid schema constraints

Node.js MongoDB

Repo

// DSA & Algorithms

Daily Practice

Solving problems that hold up under scale — not just ones that pass test cases.

  • Arrays, linked lists, stacks, queues — core patterns and implementation
  • Recursion and DP — memoisation, tabulation, state transitions
  • Binary search, two pointers, sliding window as standard toolkit
  • Time and space complexity analysis on every solution

Java

LeetCode


[ TELEMETRY ]

 

Streak


[ EDUCATION ]

Institution Degree Status
* University of Ibadan B.Sc. Computer Science Penultimate Year

[ INITIATE_HANDSHAKE ]

LinkedIn Email Portfolio

Open to backend and full-stack roles where real engineering problems exist.



Footer

Pinned Loading

  1. Learnova Learnova Public

    E-learning platform where instructors create and own courses, students enroll and track progress, and every access control decision is enforced at three independent layers. React, Node.js, Express,…

    JavaScript 1

  2. Library_API Library_API Public

    Backend service for a library system including real-time stock tracking, an automated late-fee engine, and concurrent borrowing logic.

    JavaScript 1