Manthan is a modern civic engagement platform that enables users to participate in democratic discourse through questions, voting, and discussions. The platform supports both official polls and community-submitted questions across various civic topics.
- Question Categories: Official, Trending, and Community tabs with topic filtering
- Voting System: Opinion polls and multiple-choice questions with real-time results
- Comments & Discussions: Threaded comments with upvote/downvote system
- User Authentication: Secure sign-in via Supabase Auth
- AI Translation: Powered by Google Gemini for multilingual support
- Offline Support: PWA with offline capabilities and background sync
- Dark/Light Mode: System-aware theme with manual toggle
- Mobile-First Design: Responsive UI with swipe gestures and bottom navigation
- Admin Panel: Moderation tools for content management
- Global Search: Find questions across all categories
| Category | Technology |
|---|---|
| Frontend | React 19, TypeScript |
| Build Tool | Vite 6 |
| Styling | Tailwind CSS |
| Backend | Supabase (PostgreSQL, Auth, Storage) |
| AI | Google Generative AI (Gemini) |
| Charts | Recharts |
| Icons | Lucide React |
| Animations | Motion |
├── components/
│ ├── modals/ # Modal dialogs
│ ├── navigation/ # Sidebar and bottom nav
│ ├── ui/ # Reusable UI components
│ └── views/ # Main view components
├── lib/
│ ├── auth.tsx # Authentication context
│ ├── database.ts # Supabase database operations
│ ├── supabase.ts # Supabase client
│ └── useAI.ts # AI translation hook
├── App.tsx # Main application component
├── types.ts # TypeScript type definitions
└── index.tsx # Application entry point
