Skip to content

thesunnycode/SubIdea

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SubIdea - Project Setup Documentation

For: MCA Students and Developers
Created: January 2025
Status: Phase 0 - Setup Complete βœ…


πŸ“‹ Project Overview

Name: SubIdea
Description: AI-Powered Problem Discovery & Project Generator Platform
Purpose: Help students and developers find validated project ideas from real Reddit discussions

Tech Stack Decision

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

🎯 Project Goals

Primary Goals

  1. βœ… Learn modern full-stack development
  2. βœ… Build portfolio-worthy project
  3. βœ… Integrate AI APIs (Gemini)
  4. βœ… Practice database design
  5. βœ… Deploy real application

Learning Outcomes

  • 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)

πŸ“‚ Project Structure

  • 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).

Required API Keys

  1. βœ… Supabase Database URL
  2. βœ… Google Gemini API Key
  3. βœ… OpenAI API Key (embeddings)
  4. βœ… Reddit API Credentials
  5. βœ… GitHub OAuth App
  6. βœ… Upstash Redis URL

πŸ—„οΈ Database Schema

Tables

  1. users - User accounts (GitHub OAuth)
  2. reddit_posts - Raw scraped posts
  3. problems - Analyzed problems with AI scores
  4. projects - Generated project specifications
  5. user_bookmarks - Saved projects with progress
  6. problem_analytics - Trending data over time

Special Features

  • 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.


🎨 Design (Wireframes)

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

🌐 API Endpoints

Complete API documentation: docs/API_ENDPOINTS.md

Main Endpoints

  • GET /api/problems - Browse problems
  • POST /api/projects/generate - Generate project with AI
  • POST /api/bookmarks - Save project
  • GET /api/user/profile - User profile

πŸ“Š Development Timeline

Phase 0: Setup (Week 1) βœ…

  • Environment setup
  • Database design
  • Wireframes created
  • API endpoints defined
  • Project structure organized

Phase 1: Backend (Weeks 2-3)

  • Reddit scraper
  • AI analysis with Gemini
  • Database integration
  • REST API implementation

Phase 2: Frontend (Weeks 4-5)

  • Next.js setup
  • UI components
  • Problem browsing
  • Project generation UI

Phase 3: User Features (Week 6)

  • Authentication
  • Bookmarks
  • User dashboard

Phase 4: Polish & Deploy (Week 7-8)

  • Testing
  • Performance optimization
  • Deployment

πŸš€ Next Steps (Phase 1)

  1. Initialize Next.js project
  2. Initialize Express project
  3. Setup TypeScript configuration
  4. Configure linters (ESLint, Prettier)
  5. First commit to GitHub

πŸ“š Resources

Learning Resources

Tools


⚠️ Important Notes

  1. Never commit .env files to Git
  2. Always test locally before pushing to production
  3. Keep API keys secret - don't share screenshots with keys
  4. Monitor API costs - check usage daily (first month)
  5. Backup database - export data weekly

πŸ› Known Issues / Limitations

None yet - this is Phase 0!


πŸ‘₯ Team

  • Developer: Sunny Kr Singh
  • Purpose: MCA Project / Portfolio
  • Contact:

πŸ“ License

MIT License - Open source, free to use


Last Updated: [Current Date]
Phase: 0 - Setup Complete βœ…

About

AI-Powered Problem Discovery & Project Generator

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors