Skip to content

PramudithaN/dev-portfolio

Repository files navigation

Pramuditha Nadun - Personal Portfolio

Astro React TailwindCSS TypeScript Node

Personal portfolio website of Pramuditha Nadun - AI Researcher & Software Engineer based in Sri Lanka.


πŸ“Έ Preview

Hero Hero


πŸ“– About This Project

This is my personal portfolio website built with Astro.js and React, showcasing my work as an Associate Software Engineer at LOLC Technologies. The site includes:

  • A cinematic hero section with a split dark/red visual design
  • A developer page with experience timeline, live GitHub project cards, and testimonials
  • A designer page featuring a gallery of creative work, logo designs, and VFX showreel
  • A gallery of photography and digital art
  • A contact page

The project is fully SSR-enabled via @astrojs/node, deployed on Vercel, and supports dark/light mode with smooth animations powered by Framer Motion.


✨ Features

  • πŸš€ Blazing fast - Built with Astro.js for optimal loading speeds
  • 🎨 Modern UI - Dark/red cinematic design with Tailwind CSS
  • πŸŒ™ Dark mode - Seamless light/dark theme switching
  • πŸ“± Fully responsive - Works great on all screen sizes
  • πŸ” SEO optimized - Structured data and meta tags
  • πŸ’Ό GitHub project cards - Live data from the GitHub API
  • πŸ–ΌοΈ Designer portfolio - Logo designs, VFX, and gallery
  • πŸ“‹ Experience timeline - Work history with tech stack badges
  • πŸ’¬ Testimonials - Collapsible testimonial section
  • πŸ“„ Resume download - Direct PDF download

πŸ› οΈ Tech Stack

Layer Technology
Framework Astro.js v5
UI Components React 19
Styling Tailwind CSS v4
Language TypeScript
Animations Framer Motion
Icons Iconify
Deployment Vercel
Database Neon (PostgreSQL)

πŸ“‹ Prerequisites


βš™οΈ Getting Started

1. Clone the repository

git clone https://github.com/PramudithaN/dev-portfolio.git
cd dev-portfolio

2. Install dependencies

npm install

3. Set up environment variables

Create a .env file in the project root:

DATABASE_URL=your_neon_postgresql_connection_string

4. Start the development server

npm run dev

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


πŸ“¦ Available Scripts

Command Description
npm run dev Start development server at localhost:3000
npm run build Type-check and build for production
npm run preview Preview the production build locally
npm run prettier Format all .ts, .tsx, .css, .astro files

πŸ“ Project Structure

dev-portfolio/
β”œβ”€β”€ public/
β”‚   β”œβ”€β”€ Documents/          # Resume PDF
β”‚   β”œβ”€β”€ Images/             # Personal photos and artwork
β”‚   β”œβ”€β”€ fonts/              # Custom fonts
β”‚   └── static/             # Static images for projects
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/         # Astro & React UI components
β”‚   β”‚   β”œβ”€β”€ react/          # Interactive React components
β”‚   β”‚   └── ui/             # Base UI primitives (shadcn)
β”‚   β”œβ”€β”€ content/
β”‚   β”‚   β”œβ”€β”€ blog/           # Blog posts (MD/MDX)
β”‚   β”‚   └── projects/       # Project entries (MD)
β”‚   β”œβ”€β”€ layouts/            # Page layout wrappers
β”‚   β”œβ”€β”€ lib/                # Utility functions and DB helpers
β”‚   β”œβ”€β”€ pages/              # File-based routes
β”‚   β”‚   β”œβ”€β”€ api/            # API endpoints
β”‚   β”‚   β”œβ”€β”€ blog/           # Blog routes
β”‚   β”‚   β”œβ”€β”€ gallery/        # Gallery route
β”‚   β”‚   β”œβ”€β”€ projects/       # Projects route
β”‚   β”‚   └── contact/        # Contact route
β”‚   β”œβ”€β”€ styles/             # Global CSS and typography
β”‚   β”œβ”€β”€ consts.ts           # Site metadata, nav, social links, skills
β”‚   └── types.ts            # TypeScript type definitions
β”œβ”€β”€ astro.config.ts         # Astro configuration
β”œβ”€β”€ tsconfig.json           # TypeScript configuration
└── package.json

πŸŒ™ Dark Mode

The site detects the user's system preference on first load and allows manual toggling via the theme button in the navbar. The preference is persisted in localStorage.


πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™‹β€β™‚οΈ Connect with Me

About

Portfolio website created to showcase my Experience and skills.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors