Your intelligent link hub platform with powerful analytics, QR code generation, health monitoring, and rule-based routing.
Features β’ Tech Stack β’ Installation β’ Usage β’ API Documentation
- Overview
- Features
- Tech Stack
- Installation
- Usage
- Project Structure
- API Documentation
- Environment Variables
- QR Code Generation
- Deployment
- Contributing
- License
Neural Nexus is a modern, full-stack link management platform that allows users to create beautiful, shareable link hubs (similar to Linktree) with advanced features like analytics, QR code generation, link health monitoring, and intelligent rule-based routing.
Perfect for:
- π± Social media influencers
- πΌ Business professionals
- π€ Event organizers
- π¨ Content creators
- π’ Marketing teams
- Create multiple customizable link hubs
- Add, edit, delete, and reorder links
- Custom slugs for branded URLs
- Enable/disable links without deleting
- Rich preview cards with thumbnails
- Real-time click tracking
- Geographic distribution maps
- Device type breakdown (mobile, desktop, tablet)
- Browser analytics
- Time-series charts for trend analysis
- Export data capabilities
- Create A/B tests for links
- Track conversion rates
- Statistical significance analysis
- Automatic winner selection
- Create custom audience segments
- Rule-based visitor categorization
- Target specific user groups
- Behavior-based segmentation
- Create conditional routing rules
- Time-based redirects
- Device-specific routing
- Location-based rules
- Performance-based optimization
- Generate QR codes for link hubs
- Customizable colors and sizes
- High error correction for distance scanning
- Download as PNG
- Print-ready format
- Python script for local IP/ngrok support
- Real-time link availability checks
- Response time tracking
- Status categorization (active, slow, broken)
- Bulk health checks
- Browser header spoofing to bypass bot detection
- Modern, responsive design
- Dark/Light theme toggle
- Mobile-first approach
- Smooth animations
- Intuitive navigation
- Accessible components
- JWT-based authentication
- Password hashing with bcrypt
- Rate limiting
- CORS protection
- Input validation
- XSS protection
- Framework: React 18.3.1
- Build Tool: Vite 6.0.5
- Styling: Tailwind CSS 3.4.17
- UI Components: Radix UI
- Animations: Framer Motion
- Charts: Recharts
- QR Codes: qrcode.react
- HTTP Client: Axios
- Routing: React Router (custom implementation)
- Notifications: Sonner
- Runtime: Node.js
- Framework: Express.js 4.21.2
- Database: MongoDB with Mongoose
- Caching: Redis
- Authentication: JWT (jsonwebtoken)
- Security: Helmet, express-rate-limit
- Validation: Joi
- Password Hashing: bcrypt
- HTTP Client: Axios (for link health checks)
- Python: QR code generation with local network support
- Git: Version control
- npm: Package management
- Node.js (v16 or higher)
- MongoDB (local or cloud)
- Redis (optional, for caching)
- Python 3.x (for QR generator script)
git clone https://github.com/Nihar1604/NeuralNexus.git
cd NeuralNexuscd backend
npm installCreate .env file:
PORT=3000
MONGODB_URI=mongodb://localhost:27017/neural-nexus
JWT_SECRET=your_super_secret_jwt_key_here_change_in_production
JWT_EXPIRES_IN=7d
REDIS_URL=redis://localhost:6379
FRONTEND_URL=http://localhost:5173
NODE_ENV=developmentStart MongoDB:
# Windows
mongod
# macOS/Linux
sudo systemctl start mongodStart Redis (optional):
# Windows
redis-server
# macOS/Linux
sudo systemctl start redisStart backend:
npm run devcd frontend
npm installCreate .env file:
VITE_API_URL=http://localhost:3000/apiStart frontend:
npm run devpip install qrcode[pil]- Frontend: http://localhost:5173
- Backend API: http://localhost:3000/api
- Navigate to the landing page
- Click "Register"
- Fill in your details
- Start creating link hubs!
- Log in to your account
- Go to "My Link Hubs"
- Click "Create New Hub"
- Add your links
- Share your unique URL or QR code
Option 1: Web Interface
- Navigate to "QR Generator"
- Select your hub
- Customize colors and size
- Download as PNG
Option 2: Python Script (for local network access)
# Local WiFi only
python qr_generator.py my-github
# Public access with ngrok
python qr_generator.py my-github --public https://abc123.ngrok.io
# Custom output file
python qr_generator.py my-github myqr.png- Go to "Link Health"
- Select a hub
- Click "Check All Links"
- View status, response times, and issues
- Navigate to "Analytics"
- Select date range
- View clicks, geographic data, devices, and browsers
- Export data for reports
NeuralNexus/
βββ backend/
β βββ src/
β β βββ config/ # Database and Redis configuration
β β βββ controllers/ # Route handlers
β β βββ middleware/ # Authentication, validation, rate limiting
β β βββ models/ # Mongoose schemas
β β βββ routes/ # API routes
β β βββ services/ # Business logic
β β βββ utils/ # Helper functions
β βββ .env # Environment variables
β βββ package.json
βββ frontend/
β βββ src/
β β βββ api/ # API client functions
β β βββ app/
β β β βββ components/ # Reusable UI components
β β β βββ pages/ # Page components
β β βββ context/ # React context providers
β β βββ styles/ # Global styles
β βββ .env # Environment variables
β βββ package.json
βββ qr_generator.py # Python QR code generator
βββ setup_public_access.md # Public access setup guide
βββ README.md
POST /api/auth/register
Content-Type: application/json
{
"email": "user@example.com",
"password": "password123",
"username": "johndoe",
"fullName": "John Doe"
}POST /api/auth/login
Content-Type: application/json
{
"email": "user@example.com",
"password": "password123"
}GET /api/hubs
Authorization: Bearer {token}POST /api/hubs
Authorization: Bearer {token}
Content-Type: application/json
{
"title": "My Links",
"slug": "my-links",
"description": "My personal link hub",
"links": [
{
"title": "GitHub",
"url": "https://github.com/username",
"isActive": true
}
]
}PUT /api/hubs/:id
Authorization: Bearer {token}
Content-Type: application/json
{
"title": "Updated Title",
"links": [...]
}DELETE /api/hubs/:id
Authorization: Bearer {token}POST /api/hubs/:id/check-health
Authorization: Bearer {token}GET /api/public/:slugPOST /api/public/:slug/click
Content-Type: application/json
{
"linkId": "link123",
"referrer": "https://twitter.com",
"userAgent": "Mozilla/5.0..."
}GET /api/analytics/:hubId?startDate=2026-01-01&endDate=2026-01-31
Authorization: Bearer {token}GET /api/segmentation
Authorization: Bearer {token}POST /api/segmentation
Authorization: Bearer {token}
Content-Type: application/json
{
"name": "Mobile Users",
"criteria": [
{
"field": "device",
"operator": "equals",
"value": "mobile"
}
]
}GET /api/rules
Authorization: Bearer {token}POST /api/rules
Authorization: Bearer {token}
Content-Type: application/json
{
"name": "Weekend Redirect",
"hubId": "hub123",
"isEnabled": true,
"conditions": [
{
"field": "dayOfWeek",
"operator": "in",
"value": ["Saturday", "Sunday"]
}
],
"action": {
"type": "redirect",
"value": "https://weekend-special.com"
}
}# Server
PORT=3000
NODE_ENV=development
# Database
MONGODB_URI=mongodb://localhost:27017/neural-nexus
# Authentication
JWT_SECRET=your_secret_key_change_in_production
JWT_EXPIRES_IN=7d
# Redis (optional)
REDIS_URL=redis://localhost:6379
# Frontend URL
FRONTEND_URL=http://localhost:5173# API
VITE_API_URL=http://localhost:3000/apiUse the built-in QR Generator page in the application.
For generating QR codes that work on local networks or with ngrok:
# Install dependencies
pip install qrcode[pil]
# Generate QR code (auto-detects local IP)
python qr_generator.py my-hub-slug
# Use ngrok for public access
ngrok http 5173
python qr_generator.py my-hub-slug --public https://abc123.ngrok.io
# Custom output file
python qr_generator.py my-hub-slug output.pngSee setup_public_access.md for detailed instructions on using ngrok for external access.
npm install -g vercel
cd frontend
vercelnpm install -g netlify-cli
cd frontend
npm run build
netlify deploy --prod --dir=dist- Create new Web Service
- Connect GitHub repository
- Set build command:
cd backend && npm install - Set start command:
cd backend && npm start - Add environment variables
- Create new project
- Connect GitHub repository
- Add environment variables
- Deploy
- Create free cluster at mongodb.com
- Get connection string
- Update
MONGODB_URIin backend .env
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch
git checkout -b feature/amazing-feature
- Commit your changes
git commit -m "Add amazing feature" - Push to the branch
git push origin feature/amazing-feature
- Open a Pull Request
- Follow existing code style
- Write meaningful commit messages
- Add comments for complex logic
- Test your changes thoroughly
- Update documentation as needed
- Theme toggle requires page refresh on first use (working on fix)
- Link health checks may timeout for slow servers (configurable)
This project is licensed under the MIT License - see the LICENSE file for details.
- Nihar - @Nihar1604
- Smrutikant - @Haze10-stack
- Om - @OmKadam
- Inspired by Linktree and Bitly
- UI components from Radix UI
- Icons from Lucide
- Charts powered by Recharts
For support, email support@neuralnexus.app or open an issue on GitHub.
Made with β€οΈ for Advitya Hackathon 2026
β Star this repo if you find it useful!