{"id":31779756,"url":"https://github.com/workworklabs/landingpage","last_synced_at":"2026-02-17T06:03:39.518Z","repository":{"id":290770006,"uuid":"912741606","full_name":"WorkWorkLabs/LandingPage","owner":"WorkWorkLabs","description":"WorkWork Frotend","archived":false,"fork":false,"pushed_at":"2026-01-08T07:12:37.000Z","size":53035,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-30T04:39:08.286Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://workworklabs.github.io/Frontend/","language":"Vue","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/WorkWorkLabs.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-01-06T09:52:23.000Z","updated_at":"2026-01-08T07:12:41.000Z","dependencies_parsed_at":"2025-04-30T13:56:44.558Z","dependency_job_id":"da4d7e06-a84a-401d-b6c2-0efcdb18f55c","html_url":"https://github.com/WorkWorkLabs/LandingPage","commit_stats":null,"previous_names":["workworklabs/frontend","workworklabs/landingpage"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/WorkWorkLabs/LandingPage","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WorkWorkLabs%2FLandingPage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WorkWorkLabs%2FLandingPage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WorkWorkLabs%2FLandingPage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WorkWorkLabs%2FLandingPage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WorkWorkLabs","download_url":"https://codeload.github.com/WorkWorkLabs/LandingPage/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WorkWorkLabs%2FLandingPage/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29535934,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-17T05:00:25.817Z","status":"ssl_error","status_checked_at":"2026-02-17T04:57:16.126Z","response_time":100,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2025-10-10T07:57:27.902Z","updated_at":"2026-02-17T06:03:39.490Z","avatar_url":"https://github.com/WorkWorkLabs.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WorkWork Landing Page Template\n\nA modern, fully-featured Vue 3 + TypeScript landing page template with complete component architecture and extensibility.\n\n## 🚀 Features\n\n### Architecture\n- **Vue 3** with Composition API \u0026 `\u003cscript setup\u003e`\n- **TypeScript** for type safety\n- **Pinia** for state management\n- **Vue Router** for routing\n- **Vite** for fast development and building\n\n### Components\n- **Modular Architecture**: Fully componentized with clear separation\n- **Base Components**: Reusable UI components (Button, Input, Card)\n- **Layout Components**: Header, Footer with responsive navigation\n- **Section Components**: Hero, Features, Products, Team, Stats, Newsletter\n- **Form Handling**: Built-in validation with Composables\n\n### Features\n- ✅ **Fully Responsive** - Mobile-first design\n- ✅ **TypeScript** - Complete type safety\n- ✅ **State Management** - Pinia stores for content and app state  \n- ✅ **Form Validation** - Real-time validation with custom composables\n- ✅ **Smooth Animations** - CSS transitions and keyframes\n- ✅ **SEO Optimized** - Meta tags, structured data\n- ✅ **Performance** - Code splitting, lazy loading\n- ✅ **Accessibility** - ARIA labels, keyboard navigation\n- ✅ **Modern CSS** - CSS Grid, Flexbox, custom properties\n\n## 📁 Project Structure\n\n```\nsrc/\n├── components/\n│   ├── base/           # Reusable UI components\n│   │   ├── BaseButton.vue\n│   │   ├── BaseInput.vue\n│   │   └── BaseCard.vue\n│   ├── forms/          # Form components\n│   │   └── NewsletterForm.vue\n│   ├── layout/         # Layout components\n│   │   ├── AppHeader.vue\n│   │   └── AppFooter.vue\n│   └── sections/       # Page sections\n│       ├── HeroSection.vue\n│       ├── FeaturesSection.vue\n│       ├── ProductsSection.vue\n│       ├── TeamSection.vue\n│       └── StatsSection.vue\n├── composables/        # Vue composables\n│   └── useFormValidation.ts\n├── stores/            # Pinia stores\n│   ├── app.ts\n│   └── content.ts\n├── types/             # TypeScript types\n│   └── index.ts\n├── views/             # Page views\n│   └── HomeView.vue\n├── router/            # Vue Router\n│   └── index.ts\n├── App.vue\n└── main.ts\n```\n\n## 🛠 Development\n\n### Prerequisites\n- Node.js 16+ \n- npm or yarn\n\n### Setup\n```bash\n# Install dependencies\nnpm install\n\n# Copy environment file\ncp .env.example .env\n\n# Start development server\nnpm run dev\n```\n\n### Available Scripts\n```bash\nnpm run dev         # Start dev server\nnpm run build       # Build for production\nnpm run preview     # Preview production build\nnpm run type-check  # TypeScript type checking\nnpm run lint        # Lint with ESLint\nnpm run format      # Format with Prettier\n```\n\n## 🎨 Customization\n\n### Content Management\nAll content is managed through Pinia stores:\n- **`stores/content.ts`** - Page content, navigation, team data\n- **`stores/app.ts`** - App configuration, UI state\n\n### Styling\n- CSS-in-Vue with scoped styles\n- Custom CSS properties for theming\n- Responsive design with mobile-first approach\n\n### Component Extension\n1. Create new components in appropriate folders\n2. Follow existing patterns for props/events\n3. Use TypeScript interfaces from `types/index.ts`\n4. Add to content store if needed\n\n## 🔧 Configuration\n\n### Environment Variables\nCreate `.env` file from `.env.example`:\n- `VITE_APP_TITLE` - Application title\n- `VITE_API_URL` - API endpoint\n- `VITE_GA_ID` - Google Analytics ID\n\n### Build Configuration\n- **Vite config**: `vite.config.ts`\n- **TypeScript**: `tsconfig.json`\n- **Path aliases**: `@/*` maps to `src/*`\n\n## 📱 Responsive Design\n\nBreakpoints:\n- `xs`: \u003c 640px\n- `sm`: 640px+  \n- `md`: 768px+\n- `lg`: 1024px+\n- `xl`: 1280px+\n- `2xl`: 1536px+\n\n## 🚀 Deployment\n\n### Build\n```bash\nnpm run build\n```\n\n### Deploy to Vercel\n```bash\nnpm i -g vercel\nvercel --prod\n```\n\n### Deploy to Netlify\n1. Connect your repo to Netlify\n2. Build command: `npm run build`\n3. Publish directory: `dist`\n\n## 📊 Performance\n\n- **Code Splitting**: Automatic route-based splitting\n- **Tree Shaking**: Unused code elimination\n- **Asset Optimization**: Images and fonts optimized\n- **Lazy Loading**: Components loaded on demand\n\n## 🎯 SEO Features\n\n- Meta tags with dynamic content\n- Structured data (JSON-LD)\n- Semantic HTML\n- Open Graph tags\n- Twitter Card support\n- Canonical URLs\n\n## 🧪 Testing (Optional)\n\nAdd testing framework:\n```bash\n# Vitest + Testing Library\nnpm i -D vitest @vue/test-utils jsdom\nnpm i -D @testing-library/vue @testing-library/jest-dom\n```\n\n## 📝 Contributing\n\n1. Fork the repository\n2. Create feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit changes (`git commit -m 'Add amazing feature'`)\n4. Push to branch (`git push origin feature/amazing-feature`)\n5. Open Pull Request\n\n## 📄 License\n\nMIT License - see LICENSE file for details\n\n## 🤝 Support\n\n- Create an issue for bugs/features\n- Star the repo if it helps you!\n- Contribute back improvements\n\n---\n\n**Built with ❤️ using Vue3**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fworkworklabs%2Flandingpage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fworkworklabs%2Flandingpage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fworkworklabs%2Flandingpage/lists"}