Flashcard Generator Overview Flashcard Generator is a Next.js application designed to help users create, manage, and study flashcards. The application leverages the OpenAI API to automatically generate flashcards from text inputs, integrates with Firebase for data storage, and supports PDF uploads. Additionally, it features user authentication and management through Clerk.
Features Automatic Flashcard Generation: Utilizes the OpenAI API to generate flashcards based on user input. Firebase Integration: Stores user-generated flashcards and data in Firebase. PDF Uploads: Allows users to upload PDFs, which can be processed and converted into flashcards. User Accounts: Implements user authentication and management using Clerk. Tech Stack Next.js: Framework for building the React-based frontend. Firebase: Backend-as-a-Service for data storage and real-time database capabilities. OpenAI API: Provides natural language processing to generate flashcards. Clerk: Handles user authentication and account management. Getting Started To get started with the Flashcard Generator project, follow these instructions:
Prerequisites Node.js (v14 or later) npm or yarn Firebase account Clerk account OpenAI API key Installation Clone the Repository
bash Copy code git clone https://github.com/your-username/flashcard-generator.git cd flashcard-generator Install Dependencies
bash Copy code npm install
yarn install Set Up Environment Variables
Create a .env.local file in the root of your project and add the following environment variables:
.env Copy code OPENAI_API_KEY = NEXT_PUBLIC_STRIPE_API_PUBLIC_KEY = STRPE_API_SECRET_KEY = NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY = CLERK_SECRET_KEY = NEXT_PUBLIC_FIREBASE_API_KEY =
Run the Development Server
bash Copy code npm run dev
yarn dev Open your browser and go to http://localhost:3000 to see the application in action.
Usage Generate Flashcards: Enter text into the application, and the OpenAI API will generate flashcards for you. Upload PDFs: Use the PDF upload feature to add and process PDF documents. Manage User Accounts: Sign up, log in, and manage user accounts using Clerk. Deployment To deploy the application, you can use Vercel or another cloud platform. For Vercel:
Push Your Code to a Git Repository: Ensure your code is pushed to a remote repository (e.g., GitHub).
Connect to Vercel:
Go to Vercel and log in. Click on "New Project" and import your Git repository. Configure environment variables in Vercel based on your .env.local settings. Deploy your project. Contributing If you'd like to contribute to the project, please follow these steps: