A community platform for UPSC aspirants to ask questions, share knowledge, and connect with fellow civil service exam preparers.
UPSC Overflow is a full-stack web application designed specifically for UPSC (Union Public Service Commission) aspirants. The platform allows users to:
- Ask questions related to UPSC preparation
- Answer questions from other aspirants
- Search through existing questions and answers
- Filter questions by subjects and sorting options
- Practice with community-generated content
The platform aims to create a supportive community where UPSC aspirants can help each other with their preparation journey.
- Next.js 15 - React framework for production
- TypeScript - Typed superset of JavaScript
- Tailwind CSS - Utility-first CSS framework
- shadcn/ui - Reusable component library
- Redux Toolkit - State management
- React Hook Form - Form handling and validation
- Zod - Schema validation
- Framer Motion - Animation library
- Convex - Backend-as-a-Service
- Clerk - Authentication and user management
- AI SDK - Multiple AI providers (Anthropic, Google, Groq, OpenAI)
- TinyMCE / Tiptap - Rich text editors
- HugeIcons - Icon library
- ESLint - Code linting
- Prettier - Code formatting
- npm-run-all - Concurrent task execution
- Node.js (version 18 or higher)
- npm or yarn
- Convex account
- Clerk account
-
Clone the repository:
git clone <repository-url> cd upsc-overflow
-
Install dependencies:
npm install
-
Set up environment variables: Create a
.env.local
file in the root directory with the following variables:# Clerk Authentication NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key CLERK_SECRET_KEY=your_clerk_secret_key # Convex NEXT_PUBLIC_CONVEX_URL=your_convex_url # AI Providers (optional, based on what you plan to use) OPENAI_API_KEY=your_openai_api_key ANTHROPIC_API_KEY=your_anthropic_api_key GOOGLE_GENERATIVE_AI_API_KEY=your_google_ai_api_key GROQ_API_KEY=your_groq_api_key
-
Run the development server:
npm run dev
-
Open http://localhost:3000 with your browser to see the result.
npm run dev
- Runs the app in development mode (frontend and backend)npm run build
- Builds the app for productionnpm run start
- Runs the built app in production modenpm run lint
- Runs ESLint to check for code issuesnpm run format
- Formats code with Prettier
app/ # Next.js app directory
├── api/ # API routes
├── ask-question/ # Ask question page
├── chat/ # Chat functionality
├── community/ # Community features
├── practice/ # Practice section
├── profile/ # User profiles
├── question/ # Individual question pages
├── questions/ # Questions listing
└── ... # Other pages
components/ # React components
lib/ # Utility functions and libraries
hooks/ # Custom React hooks
public/ # Static assets
- User authentication with Clerk
- Question and answer system
- Rich text editor for creating content
- Search and filtering functionality
- Responsive design for all devices
- Dark/light theme support
- AI-powered features
Contributions are welcome! Please feel free to submit a Pull Request.
To learn more about the technologies used in this project: