An AI-powered platform for creating and managing online courses. Built using Next.js and integrated with Clerk for authentication, Gemini API for AI-generated content, and Cloudinary for file storage, this platform allows users to create, track, and manage their courses, while administrators can oversee user and course management.
-
User Authentication 🔒
- Managed via Clerk.
- Users can sign up, log in, and manage their profiles securely.
- Ensures secure access to the platform.
-
Course Creation 📚
- Users can generate and manage their own courses.
- Utilizes AI for content creation.
- Simplifies the process of course development.
-
File Storage 💾
- Courses and media are stored in Cloudinary.
- Ensures reliable and scalable storage solutions.
- Facilitates easy access and management of course materials.
-
AI Integration 🤖
- Content is generated with the Gemini API.
- Enhances course content with AI-generated materials.
- Provides dynamic and engaging learning experiences.
-
Responsive UI 📱
- Optimized for both desktop and mobile devices.
- Ensures a seamless user experience across different devices.
- Adapts to various screen sizes for better accessibility.
-
Progress Tracking 📈
- Displays user course progress.
- Helps users keep track of their learning journey.
- Provides insights into course completion and performance.
-
Role-based Management 👥
- Ensures appropriate access and functionality based on user roles.
- Enhances security and user experience by tailoring features to roles.
| Technology | Description |
|---|---|
| Next.js 14.x | A framework for server-side rendering and static site generation. |
| Clerk | Manages authentication and user profiles securely. |
| Gemini API | Generates AI-powered course content. |
| Cloudinary | Provides file storage. |
| Drizzle ORM | Provides database management. |
| Tailwind CSS | A utility-first CSS framework for styling. |
| React Icons | A library of icons for React applications. |
| Vercel | A platform for hosting and deploying web applications. |
-
Clone the repository
git clone https://github.com/CodeForgeNet/ai-course-generator.git
-
Navigate to the project directory
cd ai-course-generator -
Install the dependencies
npm install
-
Create a
.env.localfile in the root directory and add the following environment variablesNEXT_PUBLIC_CLERK_FRONTEND_API=<your-clerk-frontend-api> CLERK_API_KEY=<your-clerk-api-key> GEMINI_API_KEY=<your-gemini-api-key> FIREBASE_API_KEY=<your-firebase-api-key> FIREBASE_PROJECT_ID=<your-firebase-project-id> DATABASE_URL=<your-database-url>
-
Run the development server
npm run dev
We welcome contributions to improve the platform. Here are the steps to get started:
Click the "Fork" button at the top right of the repository page to create a copy of the repository in your GitHub account.
Clone your forked repository to your local machine using the following command:
git clone https://github.com/<your-username>/ai-course-generator.gitCreate a new branch for your feature or bug fix:
git checkout -b feature-or-bugfix-nameMake your changes to the codebase. Ensure your code follows the project's coding standards and passes all tests.
Commit your changes with a descriptive commit message:
git add .
git commit -m "Description of the feature or fix"Push your changes to your forked repository:
git push origin feature-or-bugfix-nameGo to the original repository and click the "New Pull Request" button. Select your branch and submit the pull request for review.
Your pull request will be reviewed by the maintainers. Please be responsive to any feedback or requests for changes.
Once approved, your pull request will be merged into the main branch. Congratulations on your contribution!