The AI Course Generator is a web application designed to create personalized learning paths using AI. It leverages various AI models to generate course content, including text and images, and provides functionalities for speech-to-text and text-to-speech conversions. The application is built using a combination of Python, Flask, and Next.js, and integrates with MongoDB for data storage.
- Course Generation: Generate personalized courses based on user input.
- Speech-to-Text: Convert audio files to text using the Sarvam API.
- Text-to-Speech: Convert text to speech in various languages using the Sarvam API.
- Chat System: Interactive chat system for course content generation.
- Image Generation: Generate images based on text prompts.
- Translation: Translate text into different languages.
- Flask: Used for handling API requests and rendering templates.
- MongoDB: Used for storing course data, logs, and chat messages.
- Sarvam API: Used for speech-to-text and text-to-speech functionalities.
- Google Vertex AI: Used for generating text and images.
- Groq: Used for generating text.
- Next.js: Used for building the user interface.
- Tailwind CSS: Used for styling the application.
- React: Used for building interactive components.
- Python 3.8+
- Node.js 14+
- MongoDB
-
Clone the repository:
git clone https://github.com/Tarunroy500/ai-course-generator.git cd ai-course-generator
-
Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install the required Python packages:
pip install -r requirements.txt
-
Set up environment variables for API keys and MongoDB connection string.
-
Navigate to the frontend directory:
cd frontend
-
Install the required Node.js packages:
npm install
-
Start the development server:
npm run dev
- Start the Next.js development server:
npm run dev
- Description: Converts audio files to text using the Sarvam API.
- Description: Converts text to speech using the Sarvam API.
- Description: Generates course content based on user input.
- Description: Displays the main hero section of the landing page.
- Description: Main dashboard for creating and managing courses.
- Description: Interactive chat system for course content generation.
- Configuration File:
tailwind.config.js
- CSS File:
app/globals.css
- MongoDB Connection String: Set the connection string for MongoDB in your environment variables.
- Sarvam API Key: Set the API key for Sarvam in your environment variables.
- Google Cloud Project ID: Set the Google Cloud Project ID in your environment variables.
- Groq API Key: Set the Groq API key in your environment variables.
requests
playsound
Flask==2.0.2
groq
markdown
html_to_json
vertexai
@clerk/nextjs
@radix-ui/react-dialog
@radix-ui/react-icons
@radix-ui/react-select
@radix-ui/react-slot
axios
class-variance-authority
clsx
lucide-react
mongodb
next
react
react-dom
react-icons
react-toastify
tailwind-merge
tailwindcss-animate
This script handles the main course generation logic, including connecting to MongoDB, generating prompts, and saving course content.
This script initializes and uses Google Vertex AI models for generating text and images.
This script initializes and uses Groq models for generating text.
This project is licensed under the MIT License. See the LICENSE file for details.
- Special thanks to the developers of the Sarvam API for providing the speech-to-text and text-to-speech functionalities.
- Thanks to the contributors of the various open-source libraries used in this project.
For any inquiries or support, please contact [[email protected], [email protected], [email protected], [email protected]].