Skip to content

A social platform for sharing ideas for games, apps, startups etc. Allows users to upvote or downvote ideas by their utility. Also used an AWS Lambda function that hooks into OpenAI's GPT3 API on a schedule, to generate ideas based on a variety of examples fed to it as prompts based on data scraped from Reddit.

Notifications You must be signed in to change notification settings

nikhilnair31/brainFart

Repository files navigation

What is brainFart?

It's a social platform for sharing ideas for games, apps, startups etc. Allows users to upvote or downvote ideas by their utility. Also used an AWS Lambda function that hooks into OpenAI's GPT3 API on a schedule, to generate ideas based on a variety of examples fed to it as prompts based on data scraped from Reddit.

To-Dos

To-Dos

To-Dos

  • General
    • Include an automatic scroll end idea load instead of button?
    • Find way to query random doc in Firestore to enable random idea component again
    • A type o ElastiSearch that queries entire cllection as Search progresses.
      • Figure out how to avoid seeing login page on consecutive loads
  • Home page
    • Show new idea added locally
      • Show random idea on top of older ideas with quick up/downvotes
      • Fix data flow to avoid refetching full collection's data on up/downvoting
      • Have footer stay at botom of page even while searching
      • Fix logout popup to user's image for responsive
      • Center brainFart text
      • Added delete confirmation component
      • Add site logo
      • Style the logout button
      • Add functional search bar
      • Figure out prop drill flow to show profile picture for Google/Anon
      • Add logout button
  • Login Component - [x] Style and add privacy policy - [x] Add twitter authentication - [x] Add anon button - [x] If auth skipped don't allow adding ideas only reading
  • Search - [x] Add customizable filter to sort ideas
  • AddIdea - [x] Have textarea height increase automatically - [x] Have inputtext element height increase for long texts - [x] Check why user context here shows null even though it prints in other scripts - [x] Add conditional render if user.isAnon is true
  • Idea card - [x] Fix error where one can upvote infinitely by upvoting then downvoting and undownvoting - [x] Save upvote or downvote to show as changed button color from load - [x] Add functionality to up/down vote buttons considering 1 user can only submit 1 up/down vote for an idea to avoid spamming. - [x] Figure out how to update upvote on only 1 idea and not pull full database to avoid re-render of whole list - [x] Trigger re-render of all ideas after deleting some idea - [x] Show delete button to user only for their own ideas - [x] Add upvote and downvote button - [x] Add user and time of idea - [x] Add delete button
  • Other
    • Add XML sitemap for SEO
    • Consider adding Next.js for SSR
    • Check what robots.txt
      • Add XML sitemap for SEO
    • Consider adding Next.js for SSR
    • Check what robots.txt
      • Check out React routers?
      • Check how to add checkmarks in README

About

A social platform for sharing ideas for games, apps, startups etc. Allows users to upvote or downvote ideas by their utility. Also used an AWS Lambda function that hooks into OpenAI's GPT3 API on a schedule, to generate ideas based on a variety of examples fed to it as prompts based on data scraped from Reddit.

Topics

Resources

Stars

Watchers

Forks