A modern Q&A platform for developers built with Next.js 14, featuring AI-powered answers and a rich interactive experience.
- Secure authentication with Clerk
- Multiple sign-in options: Email/Password, Google, and GitHub
- Protected routes and API endpoints
-
Smart Home Feed
- Personalized question recommendations
- Advanced filtering and search capabilities
- Infinite scroll pagination
- Real-time content updates
-
Rich Question Experience
- TinyMCE editor for rich text formatting
- Code syntax highlighting
- Image upload support
- Interactive voting system
- View tracking
- Bookmark functionality
-
AI-Powered Answers
- OpenAI integration for automated responses
- Context-aware answer generation
- AI response quality monitoring
-
Advanced Answer Management
- MDX editor with dark/light mode
- Answer sorting and filtering
- Voting system
- Best answer selection
-
User Features
- Customizable user profiles
- Reputation system
- Achievement badges
- Activity history
- Collections management
-
Community Features
- User discovery with filters
- Tag-based navigation
- Job board with location-based recommendations
- Global search functionality
-
Frontend
- Next.js 14 (App Router)
- TailwindCSS
- TinyMCE
- Zustand (State Management)
- Zod (Schema Validation)
-
Backend
- Node.js
- MongoDB with Mongoose
- OpenAI API
- Clerk Authentication
developer-flow/
├── app/
│ ├── (auth)/
│ ├── (root)/
│ └── api/
├── components/
│ ├── shared/
│ ├── forms/
│ └── ui/
├── lib/
│ ├── actions/
│ ├── models/
│ ├── utils/
│ └── validators/
└── public/
- Clone the repository
git clone https://github.com/yourusername/developer-flow.git- Install dependencies
npm install- Set up environment variables
# Create a .env.local file with:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_TINY_EDITOR_API_KEY=
MONGODB_URL=
WEBHOOK_SECRET=
OPENAI_API_KEY=
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
MONGODB_URI=
OPENAI_API_KEY=
TINY_MCE_API_KEY=- Run the development server
npm run dev- Create a MongoDB cluster
- Configure connection string in
.env.local - Run database migrations
- Configure Clerk dashboard
- Set up OAuth providers
- Add authentication keys to
.env.local
- ESLint and Prettier configuration
- TypeScript for type safety
- Husky for pre-commit hooks
- Jest and React Testing Library for testing
- Input sanitization
- CSRF protection
- Rate limiting
- XSS prevention
- Data encryption
- Consistent component library
- Responsive design patterns
- Dark/light mode support
- Accessibility compliance
- Mobile-first approach
- Optimized for:
- Desktop (1200px+)
- Tablet (768px - 1199px)
- Mobile (320px - 767px)
- Server-side rendering
- Image optimization
- Code splitting
- Caching strategies
- Lazy loading
- Fork the repository
- Create a feature branch
- Commit changes
- Push to your branch
- Open a pull request
For questions or support, please email mujtabafaisal944.fk@gmail.com
Built with ❤️ by Faisal Mujtaba