A modern, interactive terminal-themed portfolio website built with Next.js 16, React 19, TypeScript, and Tailwind CSS. Features a unique terminal interface with matrix-style animations and AI-powered chat functionality.
- Terminal Interface: Unique command-line style navigation system
- Matrix Animations: Cyberpunk-inspired visual effects with falling code
- AI Chat Integration: Powered by Google Gemini AI for interactive conversations
- Responsive Design: Fully optimized for mobile, tablet, and desktop devices
- SEO Optimized: Enhanced with custom sitemap.xml and robots.txt for better search engine visibility
- Type-Safe: Built with TypeScript for robust code quality
- Modern Stack: Leveraging the latest Next.js 16 App Router and React 19
- Dark Theme: Eye-friendly terminal-inspired dark mode
- Smooth Animations: Typewriter effects, hover animations, and transitions
Visit the live site: Your Vercel URL
- Framework: Next.js 16.0 - React framework with App Router
- UI Library: React 19.2 - Latest React with enhanced performance
- Language: TypeScript 5 - Type-safe JavaScript
- Styling: Tailwind CSS 4.0 - Utility-first CSS framework
- API Routes: Next.js API routes for server-side logic
- AI Integration: Google Generative AI (Gemini) - AI-powered chat functionality
- Linting: ESLint with Next.js config
- PostCSS: Modern CSS processing with Tailwind
terminal/
βββ app/ # Next.js App Router directory
β βββ about/ # About page
β β βββ page.tsx
β βββ api/ # API routes
β β βββ chat/ # AI chat endpoint
β β βββ route.ts
β βββ contact/ # Contact page
β β βββ page.tsx
β βββ projects/ # Projects showcase page
β β βββ page.tsx
β βββ skills/ # Skills page
β β βββ page.tsx
β βββ globals.css # Global styles
β βββ layout.tsx # Root layout component
β βββ page.tsx # Home page
β βββ robots.ts # SEO: robots.txt configuration
β βββ sitemap.ts # SEO: sitemap.xml generation
βββ components/ # React components
β βββ IdentityComp.tsx # Identity/profile component
β βββ TerminalComp.tsx # Main terminal component
β βββ TerminalComp/ # Terminal sub-components
β βββ About.tsx # About section component
β βββ Contact.tsx # Contact section component
β βββ Projects.tsx # Projects section component
β βββ Skills.tsx # Skills section component
βββ public/ # Static assets
β βββ css/ # Additional CSS files
β β βββ IdentityComp.css
β β βββ TerminalComp.css
β βββ images/ # Image assets
β βββ manifest.json # PWA manifest
βββ eslint.config.mjs # ESLint configuration
βββ next.config.ts # Next.js configuration
βββ next-env.d.ts # Next.js TypeScript declarations
βββ package.json # Project dependencies
βββ postcss.config.mjs # PostCSS configuration
βββ tsconfig.json # TypeScript configuration
βββ README.md # Project documentation
- Node.js 18+ installed
- npm or yarn package manager
- Google Gemini API key (for AI chat feature)
- Clone the repository
git clone https://github.com/M0rs-Ruki/terminal.git
cd terminal- Install dependencies
npm install
# or
yarn install- Set up environment variables
Create a .env.local file in the root directory:
GEMINI_API_KEY=your_google_gemini_api_key_here- Run the development server
npm run dev
# or
yarn dev- Open your browser
Navigate to http://localhost:3000
# Start development server
npm run dev
# Build for production
npm run build
# Start production server
npm run start
# Run ESLint
npm run lintThe main terminal component provides an interactive command-line experience with features like:
- Command history navigation
- Tab completion
- Custom command handlers
- Matrix rain background effect
Powered by Google Gemini AI, the chat feature allows visitors to:
- Ask questions about my work and experience
- Get instant responses
- Have natural conversations
Enhanced search engine visibility through:
- sitemap.ts: Dynamically generates sitemap.xml with all pages
- robots.ts: Configures web crawler access and sitemap location
- Metadata optimization in layout.tsx
- Semantic HTML structure
This portfolio includes dedicated SEO optimization files:
- Automatically generates sitemap.xml
- Lists all pages with their URLs and metadata
- Helps search engines discover and index content
- Updates dynamically based on routes
- Configures which pages search engines can crawl
- Points to the sitemap.xml location
- Optimizes crawling efficiency
- Follows SEO best practices
- Meta tags for description, keywords, and Open Graph
- Structured data for better search results
- Optimized page titles and descriptions
- Semantic HTML5 elements
This project is deployed on Vercel for optimal performance and seamless CI/CD.
- Install Vercel CLI (if not already installed)
npm install -g vercel- Deploy
vercel- Set environment variables in Vercel dashboard:
- Go to Project Settings β Environment Variables
- Add
GEMINI_API_KEY
- Mobile-first approach
- Breakpoints for mobile, tablet, and desktop
- Touch-friendly interface
- Optimized typography scaling
- Typewriter text effects
- Matrix-style falling code
- Smooth page transitions
- Hover effects and micro-interactions
- Next.js 16 App Router for optimal loading
- React 19 with enhanced rendering
- Code splitting and lazy loading
- Optimized images and assets
- Home (
/): Terminal interface with navigation commands - About (
/about): Personal background, education, and current focus - Skills (
/skills): Technical skills organized by category - Projects (
/projects): Portfolio of completed projects - Contact (
/contact): Contact information and social links
- GitHub: @M0rs-Ruki
- LinkedIn: Anup Pradhan
- Twitter/X: @AnupPradhan0
- YouTube: @morscode7
- Email: anuppradhan929@gmail.com
This project is open source and available under the MIT License.
- Inspired by classic terminal interfaces and cyberpunk aesthetics
- Built with modern web technologies
- AI chat powered by Google Gemini
- Deployed on Vercel's edge network
- Add blog section with MDX support
- Implement dark/light theme toggle
- Add more terminal commands
- Integrate analytics dashboard
- Add project filtering and search
- Implement PWA features for offline access
- Add more AI chat personalities
Found a bug? Please open an issue on GitHub Issues.
If you like this project, please consider giving it a β on GitHub!
Built with π by Anup Pradhan
Last Updated: November 2025