{"id":28859560,"url":"https://github.com/amjustgettingstarted/off-portfolio","last_synced_at":"2025-08-08T02:04:26.904Z","repository":{"id":296713878,"uuid":"994237979","full_name":"AmjustGettingStarted/off-portfolio","owner":"AmjustGettingStarted","description":"My Portfolio","archived":false,"fork":false,"pushed_at":"2025-06-13T05:25:31.000Z","size":3588,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-05T22:40:56.706Z","etag":null,"topics":["framer-motion","typescript","vite"],"latest_commit_sha":null,"homepage":"https://portfolio-brown-nu-26.vercel.app/","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/AmjustGettingStarted.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,"zenodo":null}},"created_at":"2025-06-01T14:17:23.000Z","updated_at":"2025-06-13T05:25:21.000Z","dependencies_parsed_at":"2025-06-20T04:03:56.528Z","dependency_job_id":"ab65864a-3935-47d1-8b45-e70c28fea33e","html_url":"https://github.com/AmjustGettingStarted/off-portfolio","commit_stats":null,"previous_names":["amjustgettingstarted/off-portfolio"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AmjustGettingStarted/off-portfolio","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmjustGettingStarted%2Foff-portfolio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmjustGettingStarted%2Foff-portfolio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmjustGettingStarted%2Foff-portfolio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmjustGettingStarted%2Foff-portfolio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AmjustGettingStarted","download_url":"https://codeload.github.com/AmjustGettingStarted/off-portfolio/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmjustGettingStarted%2Foff-portfolio/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269351910,"owners_count":24402678,"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-08T02:00:09.200Z","response_time":72,"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":["framer-motion","typescript","vite"],"created_at":"2025-06-20T04:01:17.392Z","updated_at":"2025-08-08T02:04:26.860Z","avatar_url":"https://github.com/AmjustGettingStarted.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HMV Portfolio\n\nA modern, full-stack portfolio web application featuring a responsive UI, animated transitions, and a Node.js backend. Built with Vite, React, TypeScript, Tailwind CSS, Framer Motion, shadcn-ui, and Express.\n\n---\n\n## Table of Contents\n\n- [Project Info](#project-info)\n- [Features](#features)\n- [Tech Stack](#tech-stack)\n- [Monorepo Structure](#monorepo-structure)\n- [Getting Started](#getting-started)\n  - [Prerequisites](#prerequisites)\n  - [Installation](#installation)\n  - [Running the Development Servers](#running-the-development-servers)\n- [Project Scripts](#project-scripts)\n- [Configuration](#configuration)\n- [Deployment](#deployment)\n- [Custom Domain](#custom-domain)\n- [Contributing](#contributing)\n- [License](#license)\n\n---\n\n## Project Info\n\n**Live URL:** [https://portfolio-brown-nu-26.vercel.app/](https://portfolio-brown-nu-26.vercel.app/)\n\nA showcase portfolio for developers, featuring a beautiful UI, dark/light theme toggle, and smooth animations. Easily customizable for your own needs.\n\n---\n\n## Features\n\n- Responsive navigation bar with theme toggle (light/dark)\n- Animated transitions using Framer Motion\n- Mobile-friendly menu and navigation\n- Modern UI with Tailwind CSS and shadcn-ui components\n- Modular React components for easy customization\n- Backend API with Express (Node.js)\n- Environment variable support for configuration\n- Ready for deployment on Vercel, Netlify, or Lovable\n\n---\n\n## Tech Stack\n\n**Frontend:**\n- [Vite](https://vitejs.dev/)\n- [React](https://react.dev/)\n- [TypeScript](https://www.typescriptlang.org/)\n- [Tailwind CSS](https://tailwindcss.com/)\n- [shadcn-ui](https://ui.shadcn.com/)\n- [Framer Motion](https://www.framer.com/motion/)\n- [Radix UI](https://www.radix-ui.com/) (for accessible UI primitives)\n- [Axios](https://axios-http.com/) (for HTTP requests)\n\n**Backend:**\n- [Node.js](https://nodejs.org/)\n- [Express](https://expressjs.com/)\n\n---\n\n## Monorepo Structure\n\n```\noff-portfolio/\n│\n├── Readme.md                # Project root README\n├── Client/                  # Frontend (React)\n│   ├── src/                 # React source code\n│   ├── public/              # Static assets\n│   ├── package.json         # Frontend dependencies \u0026 scripts\n│   └── ...                  # Config files (Vite, Tailwind, etc.)\n│\n└── server/                  # Backend (Node.js/Express)\n    ├── index.js             # Express server entry\n    ├── package.json         # Backend dependencies \u0026 scripts\n    └── ...                  # Config files\n```\n\n---\n\n## Getting Started\n\n### Prerequisites\n\n- [Node.js](https://nodejs.org/) (v16+ recommended)\n- [npm](https://www.npmjs.com/) or [yarn](https://yarnpkg.com/)\n\n### Installation\n\nClone the repository and install dependencies for both frontend and backend:\n\n```sh\ngit clone https://github.com/AmjustGettingStarted/off-portfolio.git\ncd off-portfolio\n\n# Install frontend dependencies\ncd Client\nnpm install\n\n# Install backend dependencies\ncd ../server\nnpm install\n```\n\n### Running the Development Servers\n\n**Start the backend (Express server):**\n\n```sh\ncd server\nnpm run start\n```\n\nBy default, the backend runs at [http://localhost:8080](http://localhost:8080).\n\n**Start the frontend (React app):**\n\nOpen a new terminal:\n\n```sh\ncd Client\nnpm run dev\n```\n\nThe frontend runs at [http://localhost:5173](http://localhost:5173) (or as indicated in your terminal).\n\n---\n\n## Project Scripts\n\n**Frontend (`Client/package.json`):**\n\n- `npm run dev` – Start Vite dev server\n- `npm run build` – Build for production\n- `npm run preview` – Preview production build\n- `npm run lint` – Lint code with ESLint\n\n**Backend (`server/package.json`):**\n\n- `npm run start` – Start Express server\n\n---\n\n## Configuration\n\n- **Frontend environment variables:**  \n  Place variables in `Client/.env` (see Vite docs for variable naming).\n- **Backend environment variables:**  \n  Place variables in `server/.env`.\n\n---\n\n## Deployment\n\nYou can deploy the frontend and backend separately or together, depending on your hosting provider.\n\n- **Frontend:** Deploy `Client` to [Vercel](https://vercel.com/), [Netlify](https://www.netlify.com/), or [Lovable](https://lovable.dev/).\n- **Backend:** Deploy `server` to [Vercel](https://vercel.com/), [Render](https://render.com/), or [Railway](https://railway.app/).\n\n**Example: Deploying to Vercel**\n- Deploy the `Client` folder as a Vercel project (set build command to `npm run build` and output directory to `dist`).\n- Deploy the `server` folder as a separate Vercel project (set build command to `npm run start`).\n\n---\n\n## Custom Domain\n\nCustom domains are not supported directly via Lovable. For custom domains, deploy using Netlify or Vercel and configure your domain settings.\n\n---\n\n## Contributing\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/YourFeature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin feature/YourFeature`)\n5. Open a pull request\n\n---\n\n## License\n\nThis project is for personal portfolio use. Feel free to customize and use it for your own projects.\n\n---\n\n## \"Why do programmers prefer dark mode? \nBecause light attracts bugs!\" 🐞🐞🐞\n\n---\n\n💝 HMV 💝\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famjustgettingstarted%2Foff-portfolio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famjustgettingstarted%2Foff-portfolio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famjustgettingstarted%2Foff-portfolio/lists"}