{"id":30178076,"url":"https://github.com/senapati484/modern-portfolio","last_synced_at":"2026-04-09T17:04:54.703Z","repository":{"id":309200812,"uuid":"1035459134","full_name":"senapati484/modern-portfolio","owner":"senapati484","description":"A modern, responsive portfolio website built with Next.js 14, featuring server actions, email integration, and smooth animations.","archived":false,"fork":false,"pushed_at":"2025-08-11T05:44:03.000Z","size":12515,"stargazers_count":1,"open_issues_count":12,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-11T06:27:09.894Z","etag":null,"topics":["dark-mode","dark-theme","framer-motion","nextjs","nextjs14","nodemailer","portfolio","portfolio-site","portfolio-website","react","responsive","shadcn","shadcn-ui","tailwindcss","typescript","vercel","vercel-deployment"],"latest_commit_sha":null,"homepage":"https://sayan1.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/senapati484.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-10T12:55:42.000Z","updated_at":"2025-08-11T05:47:23.000Z","dependencies_parsed_at":"2025-08-11T06:37:25.927Z","dependency_job_id":null,"html_url":"https://github.com/senapati484/modern-portfolio","commit_stats":null,"previous_names":["senapati484/dynamic-portfolio-react-nodemailer","senapati484/modern-portfolio"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/senapati484/modern-portfolio","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/senapati484%2Fmodern-portfolio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/senapati484%2Fmodern-portfolio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/senapati484%2Fmodern-portfolio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/senapati484%2Fmodern-portfolio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/senapati484","download_url":"https://codeload.github.com/senapati484/modern-portfolio/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/senapati484%2Fmodern-portfolio/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270005591,"owners_count":24510939,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-12T02:00:09.011Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dark-mode","dark-theme","framer-motion","nextjs","nextjs14","nodemailer","portfolio","portfolio-site","portfolio-website","react","responsive","shadcn","shadcn-ui","tailwindcss","typescript","vercel","vercel-deployment"],"created_at":"2025-08-12T05:17:06.553Z","updated_at":"2025-12-30T20:06:36.374Z","avatar_url":"https://github.com/senapati484.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \n# Modern Portfolio Website\n  A modern, responsive portfolio website built with Next.js 14, featuring server actions, email integration, and smooth animations.\n\n[Live Demo](https://sayan1.vercel.app) | [Demo Video](#demo) | [Documentation](#documentation) | [Setup Guide](#setup-guide) | [Contributing](#contributing)\n\n[![Next.js](https://img.shields.io/badge/Next.js-14-black?style=for-the-badge\u0026logo=next.js)](https://nextjs.org/)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5-blue?style=for-the-badge\u0026logo=typescript)](https://www.typescriptlang.org/)\n[![Tailwind CSS](https://img.shields.io/badge/Tailwind-3-38B2AC?style=for-the-badge\u0026logo=tailwind-css)](https://tailwindcss.com/)\n[![License](https://img.shields.io/badge/License-MIT-green.svg?style=for-the-badge)](LICENSE)\n\n\u003c/div\u003e\n\n\u003ca id=\"demo\"\u003e\u003c/a\u003e\n\n## 📹 Demo\n\nhttps://github.com/user-attachments/assets/1e385ec8-ae6c-41af-b6db-8d97f9d0d5f6\n\n## ✨ Features\n\n- 🚀 Built with Next.js 14 and TypeScript\n- 📱 Fully Responsive Design\n- 🎨 Modern UI with Tailwind CSS and shadcn/ui\n- ✉️ Email Contact Form Integration\n- 🌙 Dark/Light Mode\n- ⚡ Fast Performance\n- 🔍 SEO Optimized\n- 🎭 Smooth Animations with Framer Motion\n\n\u003ca id=\"documentation\"\u003e\u003c/a\u003e\n\n## 📚 Documentation\n\n### Project Structure\n\n```bash\n├── src/\n│   ├── actions/        # Server actions (email functionality)\n│   ├── app/           # Next.js app router files\n│   ├── components/    # React components\n│   │   ├── ui/       # Reusable UI components\n│   │   └── ...       # Feature components\n│   └── lib/          # Configuration and utilities\n│       ├── site-config.ts   # Site-wide configuration\n│       └── data.tsx         # Content data\n```\n\n### Configuration Files\n\n#### 1. site-config.ts\n\nContains website-wide configuration including:\n\n- Personal information\n- SEO metadata\n- Social media links\n- Contact information\n\n```typescript\nexport const siteConfig = {\n  name: 'Your Name',\n  title: 'Your Title',\n  description: '...',\n  email: 'your@email.com',\n  links: {\n    github: 'https://github.com/yourusername',\n    linkedin: '...',\n    // ... other social links\n  },\n};\n```\n\n#### 2. data.tsx\n\nManages content data for:\n\n- Navigation links\n- Projects showcase\n- Work experience\n- Skills and technologies\n\n```typescript\nexport const projectsData = [\n  {\n    title: 'Project Name',\n    description: '...',\n    technologies: ['Tech1', 'Tech2'],\n    links: {\n      live: 'https://...',\n      github: 'https://...',\n    },\n  },\n  // ... more projects\n];\n```\n\n\u003ca id=\"setup-guide\"\u003e\u003c/a\u003e\n\n## 🚀 Setup Guide\n\n### 1. Clone and Install\n\n```bash\n# Clone the repository\ngit clone https://github.com/senapati484/modern-portfolio.git\n\n# Navigate to the project\ncd portfolio\n\n# Install dependencies\nnpm install\n```\n\n### 2. Environment Setup\n\nCreate a `.env` file in the root directory:\n\n```bash\nSITE_URL='https://your-domain.com'  # Required for sitemap\nNEXT_PUBLIC_SMTP_HOST='smtp.gmail.com'\nNEXT_PUBLIC_SMTP_PORT='587'\nNEXT_PUBLIC_SMTP_SECURE='false'\nNEXT_PUBLIC_SMTP_EMAIL='your_email@gmail.com'\nNEXT_PUBLIC_SMTP_PASS='your_app_specific_password'\n```\n\n### 3. Gmail App Password Setup\n\nTo get your Gmail app-specific password:\n\n1. Go to your [Google Account Security Settings](https://myaccount.google.com/security)\n2. Enable 2-Step Verification if not already enabled\n3. Navigate to [App Passwords](https://myaccount.google.com/apppasswords)\n4. Select 'Mail' and your device\n5. Copy the generated password and use it as `NEXT_PUBLIC_SMTP_PASS`\n\n### 4. Start Development Server\n\n```bash\nnpm run dev\n```\n\nVisit [http://localhost:3000](http://localhost:3000) to see your site.\n\n## 🔧 Built With\n\n- [Next.js 14](https://nextjs.org/) - The React Framework\n- [TypeScript](https://www.typescriptlang.org/) - Type Safety\n- [Tailwind CSS](https://tailwindcss.com/) - Styling\n- [Framer Motion](https://www.framer.com/motion/) - Animations\n- [shadcn/ui](https://ui.shadcn.com/) - UI Components\n- [React Hook Form](https://react-hook-form.com/) - Form Handling\n- [Nodemailer](https://nodemailer.com/) - Email Integration\n\n## 📞 Support\n\nIf you have any questions or run into issues, please open an issue in the repository or contact me:\n\n- Email: [sayansenapati2544@gmail.com](mailto:sayansenapati2544@gmail.com)\n- Twitter: [@SayanSenapati11](https://twitter.com/SayanSenapati11)\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n\u003ca id=\"contributing\"\u003e\u003c/a\u003e\n\n## 🤝 Contributing\n\nContributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request to the `main` branch\n\nFor major changes, please open an issue first to discuss what you would like to change. Please make sure to update tests as appropriate.\n\n### Development Workflow\n\nWhen contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change.\n\nAll changes should be submitted through the `/username/changes` route, where they will be reviewed before being merged into the main branch.\n\n## 🙏 Acknowledgments\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"public/images/profile/profile.jpg\" alt=\"Sayan Senapati\" width=\"200\" style=\"border-radius: 50%;\" /\u003e\n\u003c/div\u003e\n\nCreated by [Sayan Senapati](https://sayan4.vercel.app)\n\n## 🔰 Good First Issues\n\nLooking to contribute but not sure where to start? Here are some beginner-friendly issues to help you get started:\n\n1. **Improve Accessibility**: Add ARIA labels and improve keyboard navigation throughout the site.\n2. **Add Animation Variants**: Create additional animation options for section transitions.\n3. **Enhance Dark Mode**: Refine the dark mode color palette for better contrast and readability.\n4. **Optimize Images**: Implement next/image for all images and add proper sizing and optimization.\n5. **Add Unit Tests**: Create basic unit tests for components using Jest and React Testing Library.\n6. **Implement i18n Support**: Add internationalization support for multiple languages.\n7. **Create Additional Themes**: Develop alternative color themes beyond just light/dark mode.\n8. **Improve Mobile Navigation**: Enhance the mobile navigation experience with better transitions.\n\nTo work on any of these issues, please follow the [contribution guidelines](#-contributing) above.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsenapati484%2Fmodern-portfolio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsenapati484%2Fmodern-portfolio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsenapati484%2Fmodern-portfolio/lists"}