{"id":24277028,"url":"https://github.com/IndieCoderMM/stellar-portfolio","last_synced_at":"2025-10-01T21:30:26.581Z","repository":{"id":193749415,"uuid":"678692809","full_name":"IndieCoderMM/next-portfolio","owner":"IndieCoderMM","description":"Modern Portfolio Website Built with NextJS, Tailwind and Framer Motion","archived":false,"fork":false,"pushed_at":"2024-12-13T16:11:22.000Z","size":38400,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-15T23:47:51.026Z","etag":null,"topics":["framer-motion","nextjs","portfolio-website","react","sanity","tailwindcss"],"latest_commit_sha":null,"homepage":"https://www.heinthantoo.me/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IndieCoderMM.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2023-08-15T06:26:12.000Z","updated_at":"2024-12-13T16:11:27.000Z","dependencies_parsed_at":"2025-01-15T23:20:03.968Z","dependency_job_id":"e442a419-f78a-423e-9443-d898eda56c0d","html_url":"https://github.com/IndieCoderMM/next-portfolio","commit_stats":null,"previous_names":["indiecodermm/next-portfolio"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IndieCoderMM%2Fnext-portfolio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IndieCoderMM%2Fnext-portfolio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IndieCoderMM%2Fnext-portfolio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IndieCoderMM%2Fnext-portfolio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IndieCoderMM","download_url":"https://codeload.github.com/IndieCoderMM/next-portfolio/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234897368,"owners_count":18903646,"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","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":["framer-motion","nextjs","portfolio-website","react","sanity","tailwindcss"],"created_at":"2025-01-15T23:13:58.679Z","updated_at":"2025-10-01T21:30:26.576Z","avatar_url":"https://github.com/IndieCoderMM.png","language":"TypeScript","readme":"![Screenshot](/.github/banner.png)\n\n# Stellar Portfolio\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/git/external?repository-url=https://github.com/IndieCoderMM/stellar-portfolio)\n\nA modern developer portfolio website built with [Next.js](https://nextjs.org), packed with smooth animations, customizable content, and [Sanity CMS](https://www.sanity.io) integration.\n\nPerfect for developers who want a fast, unique, and fully customizable site to showcase their work.\n\n## Features\n\n- Sleek, modern layout – Clean design focused on clarity and structure.\n- Subtle motion effects – Thoughtful animations add life without getting in the way.\n- Optimized for SEO – Static pages, auto-generated sitemap and built-in Open Graph support via `next/og`.\n- Live content editing – Change content live using integrated Sanity dashboard.\n- Easy customization – Personalize site content and structure easily.\n- Built-in contact form – Emails are delivered instantly with EmailJS integration.\n- Responsive by default – Designed to look great on all screen sizes out of the box.\n\n## Tech Stack\n\n- Next.js – React framework for SSR and performance\n- Sanity.io – Headless CMS for content management\n- Motion.dev – Animation library for React\n- Tailwind CSS – Utility-first CSS framework\n- EmailJS – Email service for handling contact form messages\n\n## Getting Started\n\n1. **Clone the repo**\n\n```bash\ngit clone https://github.com/indiecodermm/stellar-portfolio.git\ncd stellar-portfolio\n```\n\n2. **Install dependencies**\n\n```bash\nnpm install\n```\n\n3. **Set up environment variables**\n\nCopy the example env file and add your own config:\n\n```bash\ncp .env.example .env.local\n```\n\n4. **Run the dev server**\n\n```bash\nnpm run dev\n```\n\nYour app should now be running at [http://localhost:3000](http://localhost:3000)\n\n5. **Open Sanity Dashboard**\n\nOnce the app is running, you can access the Sanity Studio at [http://localhost:3000/dashboard](http://localhost:3000/dashboard) to manage your content.\n\n\u003e [!NOTE]\n\u003e Make sure to add your data to the Sanity dataset before deploying or using the site.\n\n## Customization\n\nAll page content can be modified in the `/config/` folder.\n\n_No need to dig into components unless you want to._\n\n## Content Management (Sanity)\n\nThis template is integrated with [Sanity Studio](https://www.sanity.io/) for flexible content editing.\n\n- You can manage projects, skills, and other dynamic content through the Sanity dashboard.\n- The Sanity Studio is available at `/dashboard` once the project is running.\n- To set it up:\n  1. Create a project at [sanity.io](https://www.sanity.io/)\n  2. Copy the project ID and dataset name into your `.env.local` file\n  3. Run both frontend and Sanity Studio locally, or deploy them together\n\nYou can also customize the schema or extend it for additional content types as needed.\n\n\u003e [!NOTE]\n\u003e If you want to change the refresh frequency, customize `contentRefreshInterval` in `/config/index.ts` to set how often the content is fetched from Sanity. _Default is 3600 seconds (1 hr)._\n\n## Contact Form\n\nThe contact form uses **EmailJS** for sending messages.\n\n- Sign up at [emailjs.com](https://www.emailjs.com/)\n- Create a service and connect it to an email account\n- Create an email template for the contact form.\n\n\u003cdetails\u003e\n\n\u003csummary\u003eSample Email Template\u003c/summary\u003e\n\n```\nHello,\n\nYou’ve received a new message from your website. Here’s what they had to say:\n\nName: {{name}}\nEmail: {{email}}\n\nMessage:\n{{message}}\n```\n\n\u003c/details\u003e\n\n- Get your EmailJS service ID, template ID, and user ID (public key)\n- Add those to your `.env.local` file\n\n## Deploy\n\nDeploy anywhere Next.js is supported:\n\n- **Vercel** (Recommended)\n\nMake sure to set environment variables in your deployment settings.\n\n## Contributing\n\nFeel free to fork, customize, or contribute. Open an issue or PR if you have suggestions or improvements.\n\n## License\n\nThis project is released under [The Unlicense](https://unlicense.org/), which means you can use, modify, and distribute it however you want.\n\nDo whatever you like. No credit required (but appreciated).\n\n## Credits\n\nThanks to all the amazing developers and designers whose work have inspired me to create this project.\n\nAnimattions and UI elements are from these awesome resources:\n\n- Acternity UI – for the elegant components and design inspiration.\n- Uiverse.io – for the open-source UI interactions and effects.\n\n---\n\n_I hope this template helps you build your own stunning portfolio site!_\n\n_Happy building 🚀_\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FIndieCoderMM%2Fstellar-portfolio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FIndieCoderMM%2Fstellar-portfolio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FIndieCoderMM%2Fstellar-portfolio/lists"}