LinkHub is a powerful, modern link-in-bio platform built with Node.js and deployed on Tencent Kubernetes Engine (TKE). Create stunning, customizable link pages with analytics, QR codes, and more.
- π¨ Customizable themes and layouts
- π Advanced analytics and tracking
- π Secure authentication and authorization
- π± Mobile-responsive design
- π Multi-language support
- π Real-time statistics
- π· Image and media hosting
- π QR code generation
- π Performance monitoring
- Node.js >= 16
- Docker
- kubectl
- Tencent Cloud account
- MongoDB
# Clone the repository
git clone https://github.com/yourusername/linkhub.git
# Install dependencies
cd linkhub
npm install
# Set up environment variables
cp .env.example .env
# Start development server
npm run dev
# Build Docker image
docker build -t linkhub-api .
# Run container
docker run -p 3000:3000 linkhub-api
# Apply Kubernetes configurations
kubectl apply -k k8s/overlays/prod
# Verify deployment
kubectl get pods -n linkhub-prod
# Create namespace
kubectl create namespace linkhub-prod
# Create secrets
kubectl create secret generic linkhub-secrets \
--from-literal=JWT_SECRET=your-jwt-secret \
--from-literal=AWS_ACCESS_KEY=your-aws-key \
--from-literal=AWS_SECRET_KEY=your-aws-secret \
-n linkhub-prod
linkhub/
βββ π src/
β βββ π config/
β βββ π controllers/
β βββ π middleware/
β βββ π models/
β βββ π routes/
β βββ π utils/
βββ π k8s/
β βββ π base/
β βββ π overlays/
βββ π tests/
βββ π README.md
# Run all tests
npm test
# Run specific tests
npm test tests/integration/profile.test.js
# Run tests with coverage
npm run test:coverage
- π Prometheus metrics
- π Grafana dashboards
- π Error tracking
- β‘ Performance monitoring
- π JWT Authentication
- π‘οΈ Rate limiting
- π Role-based access control
- π TLS encryption
- π XSS protection
graph LR
A[Code Push] --> B[Tests]
B --> C[Build]
C --> D[Deploy to Dev]
D --> E[Tests Pass]
E --> F[Deploy to Staging]
F --> G[Manual Approval]
G --> H[Deploy to Prod]
- π POST
/api/auth/signup
- π POST
/api/auth/login
- π POST
/api/auth/forgot-password
- π€ GET
/api/profile
- π€ PATCH
/api/profile
- πΈ POST
/api/profile/image
- π GET
/api/links
- π POST
/api/links
- π PATCH
/api/links/:id
- π DELETE
/api/links/:id
- π GET
/api/analytics/dashboard
- π GET
/api/analytics/links/:linkId
NODE_ENV=production
PORT=3000
MONGODB_URI=mongodb://localhost:27017/linkhub
JWT_SECRET=your-secret-key
AWS_ACCESS_KEY=your-access-key
AWS_SECRET_KEY=your-secret-key
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- π§ Email: support@linkhub.example.com
- π¬ Discord: Join our server
- π Issues: GitHub Issues
- Tencent Cloud for TKE
- MongoDB Team
- Node.js Community
- All contributors
Made with β€οΈ by Your Team