A Stack Overflow-inspired Q&A platform built with Next.js, featuring AI-powered features and modern web technologies.
- Question & Answer System: Post questions, provide answers, and engage with the developer community
- AI Integration: OpenAI-powered features for enhanced user experience
- Authentication: Google and GitHub OAuth integration
- Modern UI: Built with Radix UI components and Tailwind CSS
- Dark/Light Theme: Theme switching with next-themes
- Database: Postgres with Prisma ORM
- Responsive Design: Mobile-first approach with Tailwind CSS
- Framework: Next.js 15 with App Router
- Language: TypeScript
- Database: Postgres
- Authentication: NextAuth.js v5
- Styling: Tailwind CSS
- UI Components: Radix UI
- AI Integration: OpenAI SDK
- Form Handling: React Hook Form with Zod validation
- Icons: Lucide React
- Node.js 18+
- Postgres (local or cloud)
- OpenAI API key
- Google OAuth credentials
- GitHub OAuth credentials
- Clone the repository:
git clone https://github.com/tarek-gritli/devflow
cd devflow- Install dependencies:
npm install- Set up environment variables:
cp .env.example .env-
Fill in your environment variables which are stated in
.env.examplein.env -
Run the development server:
npm run dev- Open http://localhost:3000 in your browser.
The project includes Docker configuration for easy deployment:
docker-compose upSee .env.example for all required environment variables. Key variables include:
DATABASE_URL: Database connection stringOPENAI_API_KEY: For AI-powered featuresAUTH_SECRET: Secret for JWT signingAUTH_GOOGLE_ID/SECRET: Google OAuth (optional)AUTH_GITHUB_ID/SECRET: GitHub OAuth (optional)
npm run dev: Start development server with Turbopacknpm run build: Build for productionnpm run start: Start production servernpm run lint: Run ESLint
├── app/ # Next.js app directory
├── components/ # Reusable React components
├── lib/ # Utility functions and configurations
├── auth.ts # Authentication configuration
├── middleware.ts # Next.js middleware
└── ...
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This project is private and proprietary.