A modern, full-stack influencer monitoring application built with Next.js 14, Clerk authentication, and Neon PostgreSQL database.
- 🔐 Authentication - Secure sign-in/sign-up with Clerk
- 📊 Dashboard - Real-time influencer campaign analytics
- 👥 User Management - Profile management and user statistics
- 📈 Campaign Tracking - Monitor influencer campaigns and performance
- 🔔 Notifications - Real-time activity notifications
- 📱 Responsive Design - Works perfectly on all devices
- ⚡ Fast Performance - Optimized for speed and user experience
- Frontend: Next.js 14 (App Router), React 19, TypeScript
- Authentication: Clerk
- Database: Neon PostgreSQL
- ORM: Prisma
- Styling: Tailwind CSS, shadcn/ui
- Icons: Lucide React
- Deployment: Vercel (recommended)
- Node.js 18+
- npm or yarn
- Neon PostgreSQL database
- Clerk account
-
Clone the repository
git clone https://github.com/Rehan959/info_tracker.git cd info_tracker -
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env.local
Update
.env.localwith your credentials:# Clerk Authentication NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key CLERK_SECRET_KEY=your_clerk_secret_key CLERK_WEBHOOK_SECRET=your_clerk_webhook_secret # Database (Neon PostgreSQL) DATABASE_URL="your_neon_database_url" # OpenAI (for AI features) OPENAI_API_KEY=your_openai_api_key
-
Set up the database
npm run db:push npm run db:seed
-
Run the development server
npm run dev
-
Open your browser Navigate to http://localhost:3000
├── app/ # Next.js App Router
│ ├── api/ # API routes
│ ├── dashboard/ # User dashboard
│ ├── landing/ # Landing page
│ ├── sign-in/ # Sign-in page
│ ├── sign-up/ # Sign-up page
│ └── not-found.tsx # 404 page
├── components/ # Reusable components
│ ├── ui/ # shadcn/ui components
│ └── navigation.tsx # Navigation component
├── lib/ # Utility libraries
│ ├── prisma.ts # Prisma client
│ └── services/ # Business logic services
├── prisma/ # Database schema and migrations
└── public/ # Static assets
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLintnpm run db:push- Push database schemanpm run db:seed- Seed database with sample datanpm run db:studio- Open Prisma Studio
GET /api/users- Get user profilePOST /api/users- Create/update user profileGET /api/influencers- Get all influencersPOST /api/influencers- Create new influencerGET /api/campaigns- Get all campaignsPOST /api/campaigns- Create new campaignGET /api/dashboard- Get dashboard dataPOST /api/webhooks/clerk- Clerk webhook handler
- Landing Page → User sees the main landing page
- Sign Up/Sign In → User authenticates with Clerk
- Dashboard → Authenticated user sees their dashboard
- Protected Routes → All dashboard and API routes require authentication
The application uses the following main entities:
- Users - User profiles and authentication
- Influencers - Influencer profiles and metrics
- Campaigns - Marketing campaigns
- Posts - Social media posts
- Activities - User activity tracking
- Notifications - User notifications
- Push your code to GitHub
- Connect your repository to Vercel
- Add environment variables in Vercel dashboard
- Deploy!
Make sure to set these in your deployment platform:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEYCLERK_SECRET_KEYCLERK_WEBHOOK_SECRETDATABASE_URLOPENAI_API_KEY(optional)
- 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
This project is licensed under the MIT License - see the LICENSE file for details.
If you encounter any issues or have questions:
- Check the Issues page
- Create a new issue with detailed information
- Contact the maintainers
- Next.js for the amazing framework
- Clerk for authentication
- Neon for the database
- shadcn/ui for the beautiful components
- Tailwind CSS for styling
Made with ❤️ by Rehan Shamsi