For: MCA Students and Developers
Created: January 2025
Status: Phase 0 - Setup Complete β
Name: SubIdea
Description: AI-Powered Problem Discovery & Project Generator Platform
Purpose: Help students and developers find validated project ideas from real Reddit discussions
| Component | Technology | Why? |
|---|---|---|
| Frontend | Next.js 14 + TypeScript | Modern React framework, great for SEO, student-friendly |
| Backend | Node.js + Express | JavaScript everywhere, huge community support |
| Database | PostgreSQL (Supabase) | Free tier, built-in auth, pgvector support |
| AI | Google Gemini Pro | You have subscription, $0 cost |
| Embeddings | OpenAI text-embedding-3-small | Cheap (~$0.50/month), reliable |
| Caching | Redis (Upstash) | Free tier, job queue support |
| Auth | GitHub OAuth (NextAuth.js) | No password management needed |
- β Learn modern full-stack development
- β Build portfolio-worthy project
- β Integrate AI APIs (Gemini)
- β Practice database design
- β Deploy real application
- Modern web development (React, Next.js, TypeScript)
- Backend API design (Express, REST)
- Database design (PostgreSQL, migrations)
- AI integration (Gemini API, embeddings)
- Authentication (OAuth 2.0)
- Background jobs (Bull queue)
- Deployment (Vercel, Railway)
- frontend/ β Next.js application
- backend/ β Express API
- database/ β SQL migrations & seeds
- docs/ β Documentation & wireframes
- scripts/ β Utility scripts
- .env.master β All API keys (DO NOT COMMIT)
All secrets stored in .env.master (excluded from Git).
- β Supabase Database URL
- β Google Gemini API Key
- β OpenAI API Key (embeddings)
- β Reddit API Credentials
- β GitHub OAuth App
- β Upstash Redis URL
- users - User accounts (GitHub OAuth)
- reddit_posts - Raw scraped posts
- problems - Analyzed problems with AI scores
- projects - Generated project specifications
- user_bookmarks - Saved projects with progress
- problem_analytics - Trending data over time
- pgvector: Enables AI similarity search
- Full-text search: Fast keyword search
- Triggers: Auto-update timestamps
See database/migrations/001_initial_schema.sql for complete schema.
Wireframes created in Excalidraw:
- Homepage:
docs/wireframes/homepage.png - Problems List:
docs/wireframes/problems-list.png - Problem Detail:
docs/wireframes/problem-detail.png - Project View:
docs/wireframes/project-view.png - User Dashboard:
docs/wireframes/user-dashboard.png
Complete API documentation: docs/API_ENDPOINTS.md
GET /api/problems- Browse problemsPOST /api/projects/generate- Generate project with AIPOST /api/bookmarks- Save projectGET /api/user/profile- User profile
- Environment setup
- Database design
- Wireframes created
- API endpoints defined
- Project structure organized
- Reddit scraper
- AI analysis with Gemini
- Database integration
- REST API implementation
- Next.js setup
- UI components
- Problem browsing
- Project generation UI
- Authentication
- Bookmarks
- User dashboard
- Testing
- Performance optimization
- Deployment
- Initialize Next.js project
- Initialize Express project
- Setup TypeScript configuration
- Configure linters (ESLint, Prettier)
- First commit to GitHub
- Next.js Docs: https://nextjs.org/docs
- TypeScript Handbook: https://www.typescriptlang.org/docs/
- PostgreSQL Tutorial: https://www.postgresqltutorial.com/
- Gemini API Docs: https://ai.google.dev/docs
- Supabase Dashboard: https://app.supabase.com/
- Upstash Console: https://console.upstash.com/
- GitHub Repository: [Your Repo URL]
- Never commit
.envfiles to Git - Always test locally before pushing to production
- Keep API keys secret - don't share screenshots with keys
- Monitor API costs - check usage daily (first month)
- Backup database - export data weekly
None yet - this is Phase 0!
- Developer: Sunny Kr Singh
- Purpose: MCA Project / Portfolio
- Contact:
MIT License - Open source, free to use
Last Updated: [Current Date]
Phase: 0 - Setup Complete β