Skip to content

iMartinDav/NextPortfolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

54 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧬 BioTech Portfolio | Next.js 15

Modern, high-performance portfolio platform integrated with projects.imartin.dev for showcases and blog content

Built with Next.js TypeScript React TailwindCSS Vercel

Maintainability GitHub Workflow Status License

🌐 Live Demo β€’ πŸ“š Documentation β€’ πŸ› Report Bug β€’ ✨ Request Feature

BioTech Portfolio Preview

πŸ“‹ Table of Contents

πŸ” About

This Next.js 15 Enterprise Portfolio Platform is specifically designed for BioTech professionals and researchers. It provides a modern, high-performance solution for showcasing professional achievements, research papers, and scientific projects.

πŸ—οΈ Repository Structure

This portfolio is integrated with a dedicated projects and blog platform:

  • Main Portfolio: Current repository - Core portfolio website
  • Projects & Blog Platform: projects.imartin.dev
    • Showcases detailed project presentations
    • Hosts the blog content
    • Seamlessly integrated with the main portfolio
    • Independently deployable and maintainable

The projects and blog sections in this portfolio link directly to projects.imartin.dev, providing a seamless user experience while maintaining separation of concerns.

🎯 Key Features

πŸ’» Core Platform Features

  • Advanced UI Components
    • Radix UI primitives for accessibility
    • Framer Motion animations
    • Interactive 3D Globe visualization
    • Particle effects system
    • PDF viewing capabilities
    • Parallax scrolling effects

πŸ”— Integration Features

  • Seamless integration with projects.imartin.dev
  • Dynamic project showcase loading
  • Integrated blog feed
  • Unified navigation experience
  • Shared authentication system
  • Cross-platform analytics

⚑ Performance Optimizations

  • Next.js 15 App Router implementation
  • Turbopack for lightning-fast builds
  • React Server Components
  • Optimized asset loading & caching
  • Response time < 100ms

πŸ“Š Analytics & Monitoring

  • Privacy-focused Umami Analytics
  • Real-time dashboard
  • Custom event tracking
  • Performance metrics

πŸ› οΈ Tech Stack

const techStack = {
  core: {
    framework: 'Next.js 15.0.1 (with Turbopack)',
    runtime: 'React 19.0.0 RC',
    language: 'TypeScript 5.6.3',
    styling: 'TailwindCSS 3.4.14'
  },
  features: {
    ui: [
      'Radix UI Primitives',
      'Framer Motion',
      'React Globe.GL',
      'TSParticles'
    ],
    forms: ['React Hook Form', 'Zod Validation'],
    pdf: ['@react-pdf/renderer', 'PSPDFKit'],
    visualization: ['Recharts', 'React GitHub Calendar'],
    effects: [
      'React Parallax Tilt',
      'React Scroll Parallax',
      'Typewriter Effect'
    ]
  },
  analytics: 'Umami',
  deployment: 'Vercel',
  quality: {
    linting: 'ESLint 9',
    formatting: 'Prettier 3',
    commitChecks: 'Husky + Commitlint'
  }
};

⚑ Quick Deploy

One-Click Vercel Deployment

  1. Click the deploy button below:

    Deploy with Vercel

  2. Configure environment variables:

    NEXT_PUBLIC_UMAMI_ID=your-umami-id
    NEXT_PUBLIC_UMAMI_URL=your-umami-url

πŸš€ Local Development

# Clone repository
git clone https://github.com/iMartinDav/NextPortfolio.git
cd NextPortfolio

# Install dependencies
pnpm install

# Start development server (with Turbopack)
pnpm dev

# Production build
pnpm build
pnpm start

πŸ“ Project Structure

.
β”œβ”€β”€ app/                    # Next.js 15 App Router
β”‚   β”œβ”€β”€ layout.tsx         # Root layout
β”‚   β”œβ”€β”€ page.tsx           # Home page
β”‚   └── [lang]/            # i18n support
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ ui/                # Radix UI components
β”‚   β”œβ”€β”€ sections/          # Page sections
β”‚   └── visualizations/    # Charts & globe
β”œβ”€β”€ lib/
β”‚   β”œβ”€β”€ analytics.ts       # Umami setup
β”‚   └── utils/             # Helper functions
β”œβ”€β”€ public/
β”‚   └── assets/           # Static assets
└── styles/
    └── globals.css       # Global styles

βš™οΈ Environment Setup

# Required
NEXT_PUBLIC_UMAMI_ID=
NEXT_PUBLIC_UMAMI_URL=

# Optional
NEXT_PUBLIC_GITHUB_TOKEN=
NEXT_PUBLIC_CONTACT_EMAIL=

🀝 Contributing

  1. Fork the repository
  2. Create your feature branch:
    git checkout -b feature/AmazingFeature
  3. Commit your changes:
    git commit -m 'feat: add amazing feature'
  4. Push to the branch:
    git push origin feature/AmazingFeature
  5. Open a Pull Request

πŸ“„ License

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

Built with 🧬 by Martin DAVILA