{"id":16331587,"url":"https://github.com/soxft/busuanzi-frontend","last_synced_at":"2026-01-24T03:31:46.355Z","repository":{"id":256529412,"uuid":"855668514","full_name":"soxft/busuanzi-frontend","owner":"soxft","description":"Front-end for busuanzi","archived":false,"fork":false,"pushed_at":"2024-10-16T03:12:19.000Z","size":339,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-17T15:31:26.026Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://busuanzi.9420.ltd","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/soxft.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":"2024-09-11T09:04:59.000Z","updated_at":"2024-10-16T03:12:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"3e0ab0d0-fe7c-47bb-9a4d-c3934ced9268","html_url":"https://github.com/soxft/busuanzi-frontend","commit_stats":null,"previous_names":["soxft/busuanzi-frontend"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soxft%2Fbusuanzi-frontend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soxft%2Fbusuanzi-frontend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soxft%2Fbusuanzi-frontend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soxft%2Fbusuanzi-frontend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/soxft","download_url":"https://codeload.github.com/soxft/busuanzi-frontend/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251312766,"owners_count":21569290,"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":[],"created_at":"2024-10-10T23:27:42.038Z","updated_at":"2026-01-24T03:31:46.350Z","avatar_url":"https://github.com/soxft.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Busuanzi Frontend\n\n\u003e A modern, fast, and privacy-friendly website visitor counter service frontend built with Next.js\n\n## Overview\n\nThis is the official frontend application for [Busuanzi](https://github.com/soxft/busuanzi), a high-performance visitor counter service that serves as a modern alternative to the original Busuanzi service. Together with the backend, it provides a complete solution for website analytics that respects user privacy while delivering accurate visitor statistics.\n\n### What is Busuanzi?\n\nBusuanzi is a simple yet powerful visitor counter system that allows website owners to track page views (PV) and unique visitors (UV) without compromising user privacy. The name \"Busuanzi\" (不蒜子) comes from Chinese, meaning \"not garlic\" - a playful name for a serious privacy-focused analytics tool.\n\n## Features\n\n- 🚀 **High Performance**: Built with Next.js 14 and optimized for speed\n- 📊 **Real-time Statistics**: Display PV (Page Views) and UV (Unique Visitors) in real-time\n- 🔒 **Privacy First**: No cookies, no personal data collection, GDPR compliant\n- 💅 **Modern UI**: Clean, responsive interface built with Tailwind CSS\n- ⚡ **Lightweight**: Minimal JavaScript footprint for fast page loads\n- 🌐 **Easy Integration**: Simple script tag integration for any website\n- 📱 **Fully Responsive**: Works perfectly on all devices\n- 🛠️ **Developer Friendly**: TypeScript support and clear API documentation\n\n## Prerequisites\n\n- Node.js 18.x or later\n- pnpm (recommended) or npm/yarn\n\n## Installation\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/soxft/busuanzi-front.git\ncd busuanzi-front\n```\n\n2. Install dependencies:\n```bash\npnpm install\n# or\nnpm install\n# or\nyarn install\n```\n\n## Development\n\nStart the development server:\n\n```bash\npnpm run dev\n# or\nnpm run dev\n# or\nyarn dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000) in your browser to see the application.\n\n## Building for Production\n\nBuild the application:\n\n```bash\npnpm run build\n# or\nnpm run build\n# or\nyarn build\n```\n\nStart the production server:\n\n```bash\npnpm run start\n# or\nnpm run start\n# or\nyarn start\n```\n\n## Scripts\n\n- `pnpm run dev` - Start development server\n- `pnpm run build` - Build for production\n- `pnpm run start` - Start production server\n- `pnpm run lint` - Run ESLint for code linting\n\n## Project Structure\n\n```\nbusuanzi-frontend/\n├── app/                  # Next.js app directory\n│   ├── api/             # API routes\n│   │   └── js/          # JavaScript counter endpoints\n│   ├── layout.tsx       # Root layout with metadata\n│   └── page.tsx         # Landing page with integration guide\n├── components/          # React components\n│   ├── ui/              # Reusable UI components\n│   │   ├── badge.tsx    # Badge component\n│   │   ├── button.tsx   # Button component\n│   │   └── card.tsx     # Card component\n│   └── CodeBlock.tsx    # Syntax highlighted code display\n├── lib/                 # Utility functions and helpers\n│   └── utils.ts         # Common utilities\n├── public/              # Static assets\n│   ├── favicon.ico      # Site favicon\n│   └── robots.txt       # SEO configuration\n└── ...\n```\n\n## API Endpoints\n\nThe frontend provides JavaScript endpoints for easy integration:\n\n- `/api/js` - Main counter script\n- `/api/js/[path]` - Dynamic path-based counters\n\n## Integration Example\n\nAdd Busuanzi to your website with just one line:\n\n```html\n\u003cscript async src=\"https://your-domain.com/api/js\"\u003e\u003c/script\u003e\n\u003cspan id=\"busuanzi_value_site_pv\"\u003e\u003c/span\u003e PV\n\u003cspan id=\"busuanzi_value_site_uv\"\u003e\u003c/span\u003e UV\n```\n\n## Tech Stack\n\n- **Framework**: [Next.js 14](https://nextjs.org/)\n- **Styling**: [Tailwind CSS](https://tailwindcss.com/)\n- **UI Components**: [Radix UI](https://www.radix-ui.com/)\n- **Language**: [TypeScript](https://www.typescriptlang.org/)\n- **Code Highlighting**: [Highlight.js](https://highlightjs.org/)\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\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\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Architecture\n\nThis frontend works in conjunction with the [Busuanzi Backend](https://github.com/soxft/busuanzi):\n\n```\n┌──────────────┐     ┌───────────────┐     ┌──────────────┐\n│   Website    │────▶│   Frontend    │────▶│   Backend    │\n│  (Your Site) │     │  (This Repo)  │     │   (API/DB)   │\n└──────────────┘     └───────────────┘     └──────────────┘\n```\n\n## Deployment\n\n### Vercel (Recommended)\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fsoxft%2Fbusuanzi-frontend)\n\n### Netlify\n\n[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/soxft/busuanzi-frontend)\n\n### Self-Hosting\n\n1. Build the application:\n```bash\npnpm run build\n```\n\n2. Deploy the `.next` folder to your hosting service\n\n3. Configure environment variables if needed\n\n4. Point your domain to the deployment\n\n## Environment Variables\n\nCreate a `.env.local` file in the root directory:\n\n```env\n# Backend API URL (if different from default)\nNEXT_PUBLIC_API_URL=https://api.busuanzi.com\n\n# Optional: Analytics\nNEXT_PUBLIC_ANALYTICS_ID=your-analytics-id\n```\n\n## Related Projects\n\n- [Busuanzi Backend](https://github.com/soxft/busuanzi) - The backend API service\n- [Original Busuanzi](http://busuanzi.ibruce.info/) - The original inspiration\n\n## Support\n\n- 📖 [Documentation](https://github.com/soxft/busuanzi/wiki)\n- 💬 [Discussions](https://github.com/soxft/busuanzi/discussions)\n- 🐛 [Report Issues](https://github.com/soxft/busuanzi-frontend/issues)\n\n## Acknowledgments\n\n- Inspired by the original Busuanzi service by Bruce\n- Built with modern web technologies for better performance and user experience\n- Thanks to all contributors and users of the Busuanzi ecosystem","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoxft%2Fbusuanzi-frontend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoxft%2Fbusuanzi-frontend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoxft%2Fbusuanzi-frontend/lists"}