Skip to content

Latest commit

ย 

History

26 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

โšก Prem Kumar K โ€” Full Stack Developer Portfolio

An interactive, high-performance portfolio website engineered with React 18, TypeScript, Three.js, Framer Motion, and Tailwind CSS. Features a built-in Admin Panel with real-time Supabase cloud sync, enabling seamless cross-device content management.

Live Portfolio Netlify React TypeScript Tailwind CSS Supabase


๐ŸŒ Live Demo & Deployment

๐Ÿš€ Explore Live Portfolio โ†’ https://pkportfolioapp.netlify.app


๐Ÿ‘จโ€๐Ÿ’ป About Prem Kumar K

I am a Full Stack Developer and Computer Science & Engineering undergraduate at SRM Institute of Science and Technology, Chennai. I specialize in building secure backend microservices, responsive web user interfaces, REST APIs, and AI-powered solutions.

  • ๐ŸŽ“ Education: B.Tech CSE at SRM IST, Ramapuram (CGPA: 8.56/10)
  • ๐Ÿ’ป Core Stack: Python (FastAPI, Flask), React, TypeScript, PostgreSQL, Docker, Tailwind CSS
  • ๐Ÿ” Focus Areas: System Security (JWT, RBAC, AES-256), Cloud Computing & Interactive Web Engineering

โœจ Key Technical Features & Architectural Highlights

๐Ÿ›ก๏ธ 1. Admin Panel with Cross-Device Cloud Sync & Tab Persistence

  • Password-Protected Admin Dashboard: Secure login with environment-variable-based credentials or custom database credentials.
  • Supabase Real-Time Sync: All edits (CRUD + reordering) are instantly saved to Supabase PostgreSQL and reflected across all devices (mobile, laptop, other browsers) without redeployment.
  • Full CRUD + Reordering: Create, update, delete, and drag-to-reorder across all sections โ€” Personal Info, Resumes, Experiences, Projects, Education, Services, Skills, Certifications, and Stats.
  • Tab Persistence: Preserves active admin sections across refreshes via sessionStorage and URL hash fragments while defaulting to Personal & Bio on login.

๐Ÿ”ค 2. Smart Global Auto-Capitalization System (capitalizeWords)

  • Intelligent Title Casing: Automatically formats text across all Admin input fields, CRUD context methods, CSV parsing, and portfolio rendering.
  • Tech Stack Dictionary: Preserves custom casing for technology terms and acronyms (HTML, CSS, JavaScript, TypeScript, TailwindCSS, React, FastAPI, Flask, PostgreSQL, Docker, SQL, API, UI/UX, SIH, SRM, etc).

๐Ÿ’ผ 3. Interactive Work Experience Section & Detail Modals

  • Responsive 3-Column Grid: Styled with interactive 3D TiltCard components matching section layout aesthetics.
  • Clickable Experience Cards: Card clicks launch a responsive lightbox modal (via React createPortal) presenting full role duties, dates, location, and technology tags.
  • Expandable Toggle: Includes a "View All Experiences" button for smooth list expansion.

๐Ÿš€ 4. Project Showcase & Live Demo Links

  • Live Demo Integration: Added liveUrl support to render a prominent Live Demo โ†— button on both project cards and detail modals alongside GitHub repository links.
  • Category Badges & Tech Stack Tags: Standardized progress indicators and tech stack tags.

๐Ÿ•น๏ธ 5. Interactive 3D Spatial Tilt Physics (<TiltCard>)

  • Real-time Cursor Tracking: Cards dynamically rotate along spatial X and Y axes (rotateX, rotateY) based on cursor offsets relative to element centers.
  • Z-Axis Elevation: Lifts cards into 3D space (translateZ(10px) scale(1.015)) on hover.
  • Smooth Viewport Entries: High-precision 3D entry transitions (transformPerspective: 1000, custom cubic-bezier easing) trigger smoothly on scroll.

๐Ÿ“„ 6. Client-Side PDF Canvas Viewer (PDF.js) & Physical Resume Management

  • Inline Certificate Previews: Uses Mozilla's pdfjs-dist to fetch and render PDF certificates client-side directly on HTML5 <canvas> elements.
  • Physical Resume File Renaming: Renames physical PDF files on disk (/public/resume/ & /dist/resume/) via local server API while updating CSV metadata.
  • Streamlined Edit UI: Clean toggle UI in Admin with inline inputs, Check save buttons, and single X cancel controls.

๐ŸŒ 7. Stacking Context & Portal Overlays

  • React Portals: Modal overlays (Projects detail lightbox, Experience detail modal, Certifications PDF viewer) are rendered directly to document.body via createPortal, avoiding CSS stacking context clipping.

๐ŸŽจ 8. Fluid Organic Hero Design

  • Morphing Profile Shape: Blob-shaped portrait frame featuring continuous fluid @keyframes morph animations and flowing neon gradient borders.
  • WebGL Particle Canvas: Background powered by Three.js rendering thousands of animated dynamic nodes.

๐Ÿ› ๏ธ Tech Stack & Dependencies

Category Technology Description
Core Framework React 18.3.1 Component-driven UI architecture
Language TypeScript 5.8.3 End-to-end static typing & interface contracts
Build System Vite 5.4.21 High-speed HMR development server & bundling
Package Manager pnpm Fast, disk-efficient package management
Styling Tailwind CSS 3.4 Utility-first custom glassmorphism & responsive layouts
Animations Framer Motion & Three.js Spatial motion transitions & WebGL background scene
Cloud Database Supabase (PostgreSQL) Real-time cross-device portfolio data sync
Deployment Netlify CI/CD auto-deploy on git push
PDF Processing PDF.js (pdfjs-dist) Client-side vector canvas PDF rendering
Icons & UI Lucide React & Radix UI Accessible primitives & SVG icon suite

๐Ÿš€ Featured Projects

1. ๐Ÿ” Secure File Sharing System using Blockchain & ML

  • Description: Cloud storage platform using FastAPI integrating AES encryption, SHA-256 hashing, Ethereum blockchain, JWT authentication, Redis, PostgreSQL, MinIO, Docker, and ML-based anomaly detection.
  • Stack: Python, FastAPI, Docker, Redis, Ethereum, PostgreSQL, MinIO, JWT
  • GitHub: Premkumark20

2. ๐ŸŒพ AI-Based Crop Recommendation Platform (AgriSense)

  • Description: AI-powered agricultural platform integrating Google Gemini API for crop disease detection, multilingual recommendations, weather forecasting, and intelligent farming insights.
  • Stack: React, Python, Gemini API, JWT, MySQL

3. ๐Ÿงฎ Trip Budget Management System

4. ๐Ÿ’ผ Payroll Management System

  • Description: Enterprise payroll system featuring Role-Based Access Control (RBAC), automated salary generation, and attendance management.
  • Stack: Python (Flask), SQLite, Role Security, PythonAnywhere
  • GitHub: payroll-dbms
  • Live Demo: https://premkumark20.github.io/payroll-dbms

๐Ÿ’ป Local Setup & Development

  1. Clone the repository

    git clone https://github.com/Premkumark20/Portfolio.git
    cd Portfolio
  2. Install dependencies (uses pnpm)

    pnpm install
  3. Configure environment variables โ€” create a .env file:

    VITE_SUPABASE_URL=https://your-project.supabase.co
    VITE_SUPABASE_ANON_KEY=your_anon_key_here
    VITE_ADMIN_USERNAME=yourusername
    VITE_ADMIN_PASSWORD=yourpassword
  4. Launch dev server

    pnpm dev

    Open http://localhost:5173 in your browser.

  5. Production build

    pnpm build
  6. Build for GitHub Pages

    pnpm build:gh-pages

๐Ÿ—„๏ธ Supabase Database Setup

Run this SQL once in your Supabase SQL Editor:

create table if not exists portfolio_data (
  id text primary key default 'main',
  content text not null,
  updated_at timestamp default now()
);

alter table portfolio_data enable row level security;

drop policy if exists "Allow public read" on portfolio_data;
create policy "Allow public read" on portfolio_data for select using (true);

drop policy if exists "Allow admin write" on portfolio_data;
create policy "Allow admin write" on portfolio_data for all using (true);

Then add VITE_SUPABASE_URL and VITE_SUPABASE_ANON_KEY to your deployment environment variables.


๐Ÿ” Admin Panel & Security Architecture

Access the full admin dashboard at /admin (opens in a new tab from the footer, or navigate directly).

Authentication & Access Control:

  • Salted SHA-256 Cryptographic Hashes: Passwords and temporary credentials use salted hashing (salt:hash), protecting against rainbow table and dictionary lookup attacks.
  • Default Administrator: yourusername / yourpassword (Salt: default_auth).
  • Master Recovery Fail-safe: youradmin / youradminpassword (Salt: master_recovery) โ€” recovery access if custom credentials are forgotten.
  • Custom Admin Credentials: Change credentials at any time in the Security tab; synced to Supabase with dynamically generated cryptographic salts.
  • Temporary Sharing Passes: Generate time-bounded passes (1 hour to 30 days) with configurable permissions (Read-Only or Can Edit). Automatically revoked upon expiration.
  • Deletion Safeguards: Confirmation modals prevent accidental deletions across all sections.

Features & Sections:

Section Operations
Personal & Bio Edit name, title, links, hero tags, bio summary (Auto Title Case)
Resumes Upload PDF/DOC files, set primary resume, rename files on physical disk
Projects Add, edit, delete, drag-to-reorder, add Live Demo URLs
Education Add, edit, delete, drag-to-reorder, set category badges
Work Experience Add, edit, delete, drag-to-reorder, clickable detail lightbox
Services Add, edit, delete, drag-to-reorder, tech stack tags
Skills Add categories & skills, drag-to-reorder
Certifications Add, upload PDF/image, drag-to-reorder, inline canvas preview
Stats Edit label, value, subtext, drag-to-reorder
Security Change admin credentials, generate/manage temporary passes, cloud backup

All changes are instantly synced to Supabase and reflected on all devices.


๐Ÿ“ Repository Structure

Portfolio/
โ”œโ”€โ”€ public/
โ”‚   โ”œโ”€โ”€ data/
โ”‚   โ”‚   โ””โ”€โ”€ portfolio.csv            # Static fallback CSV data
โ”‚   โ””โ”€โ”€ resume/                      # Uploaded resume PDF files
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ components/
โ”‚   โ”‚   โ”œโ”€โ”€ admin/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ AdminAuthModal.tsx   # Login modal for inline admin
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ AdminDashboardModal.tsx  # Inline admin panel
โ”‚   โ”‚   โ”œโ”€โ”€ ui/
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ TiltCard.tsx         # Reusable 3D mouse tilt component
โ”‚   โ”‚   โ”œโ”€โ”€ About.tsx                # About Me & statistics section
โ”‚   โ”‚   โ”œโ”€โ”€ Certifications.tsx       # PDF.js inline viewer & cert lightbox
โ”‚   โ”‚   โ”œโ”€โ”€ Contact.tsx              # Contact form & social channels
โ”‚   โ”‚   โ”œโ”€โ”€ Education.tsx            # 3D timeline qualifications
โ”‚   โ”‚   โ”œโ”€โ”€ Experience.tsx           # Clickable 3D cards & detail lightbox
โ”‚   โ”‚   โ”œโ”€โ”€ Footer.tsx               # Footer with centered copyright
โ”‚   โ”‚   โ”œโ”€โ”€ Hero.tsx                 # Morphing profile & quick actions
โ”‚   โ”‚   โ”œโ”€โ”€ Projects.tsx             # Project detail modals & Live Demo links
โ”‚   โ”‚   โ”œโ”€โ”€ Services.tsx             # Engineering domain capabilities
โ”‚   โ”‚   โ”œโ”€โ”€ Skills.tsx               # Technical competencies grid
โ”‚   โ”‚   โ””โ”€โ”€ ThreeBackground.tsx      # WebGL particle background
โ”‚   โ”œโ”€โ”€ context/
โ”‚   โ”‚   โ””โ”€โ”€ PortfolioContext.tsx      # Global state, CRUD, Supabase sync
โ”‚   โ”œโ”€โ”€ lib/
โ”‚   โ”‚   โ”œโ”€โ”€ csvData.ts               # CSV parse, generate, Supabase fetch/save
โ”‚   โ”‚   โ”œโ”€โ”€ utils.ts                 # capitalizeWords & getAssetUrl helpers
โ”‚   โ”‚   โ””โ”€โ”€ supabaseClient.ts        # Supabase client initialization
โ”‚   โ”œโ”€โ”€ pages/
โ”‚   โ”‚   โ”œโ”€โ”€ AdminPage.tsx            # Full admin dashboard page (/admin)
โ”‚   โ”‚   โ””โ”€โ”€ Index.tsx                # Main portfolio page
โ”‚   โ”œโ”€โ”€ App.tsx                      # React router & global context
โ”‚   โ”œโ”€โ”€ index.css                    # Custom keyframes & styling rules
โ”‚   โ””โ”€โ”€ main.tsx                     # DOM root entry
โ”œโ”€โ”€ .env                             # Environment variables (not committed)
โ”œโ”€โ”€ index.html                       # Favicon & SEO metadata
โ”œโ”€โ”€ tailwind.config.ts
โ”œโ”€โ”€ vite.config.ts                   # Dev server + /api/portfolio/save endpoint
โ””โ”€โ”€ README.md

๐Ÿ“ž Contact Information


Built with โค๏ธ by Prem Kumar K

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages