Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/omkarspace/coursei.ai

Full Stack AI Course Generator leveraging Next.js, React, TailwindCSS, Drizzle ORM, and Gemini API. Generates dynamic, AI-driven course content with customizable modules. (This GitHub project is intended solely for learning purposes and is not for profit.)
https://github.com/omkarspace/coursei.ai

ai-course-generator ai-development clerk-authentication database-management drizzle-orm firebase full-stack gemini-api neondb next-js reactjs shadcn-ui tailwindcss

Last synced: 1 day ago
JSON representation

Full Stack AI Course Generator leveraging Next.js, React, TailwindCSS, Drizzle ORM, and Gemini API. Generates dynamic, AI-driven course content with customizable modules. (This GitHub project is intended solely for learning purposes and is not for profit.)

Awesome Lists containing this project

README

        

## 📋 Table of Contents
- [Features](#-features)
- [Tech Stack](#-tech-stack)
- [Getting Started](#-getting-started)
- [Environment Variables](#-environment-variables)
- [Running the App](#-running-the-app)
- [Project Structure](#-project-structure)
- [Screenshots](#-screenshots)
- [Contributing](#-contributing)
- [License](#-license)

---

## ✨ Features
- **AI-Powered Content Generation**: Uses the Gemini API to dynamically generate course content.
- **Customizable Modules**: Adjust course modules, topics, and content to suit different learning paths.
- **Responsive Design**: Built with Tailwind CSS for a seamless experience on any device.
- **Full Stack**: Integrates front-end, back-end, and database layers using Drizzle ORM and Next.js API routes.
- **Deployable on Vercel**: Optimized for deployment on Vercel with Next.js serverless functions.

## 🛠️ Tech Stack
- **Frontend**: Next.js, React, Tailwind CSS
- **Backend**: Next.js API Routes, Gemini API (for AI functionality)
- **Database**: Drizzle ORM (with SQL or SQLite as per preference)
- **Deployment**: Vercel (optional)

---

## 🚀 Getting Started
Follow these steps to set up the project locally.

1. **Clone the repository:**
```bash
git clone https://github.com/omkarspace/coursei.ai.git
cd yourproject
```

2. **Install dependencies:**
```bash
yarn install
```
or
```bash
npm install
```

3. **Set up environment variables:**
Create a `.env` file in the root directory and add the necessary environment variables as per your configuration. Ensure you include any API keys or database connection strings required by the application.

## 🌐 Environment Variables
Create a `.env` file in the root directory and add the necessary environment variables as per your configuration. Ensure you include any API keys or database connection strings required by the application.

## 🏃 Running the App
To start the development server, run:
```bash
yarn dev
```
or
```bash
npm run dev
```

## 🗂️ Project Structure

```
/project-root
│── /pages
│ ├── index.js # Main entry point for the application
│ ├── _app.js # Custom App component for initializing pages
│ ├── api # API routes for server-side logic
│── /components
│ ├── Header.js # Header component
│ ├── Footer.js # Footer component
│ ├── Layout.js # Layout component for wrapping pages
│── /styles
│ ├── globals.css # Global styles
│ ├── Home.module.css # Styles specific to the Home page
│── /public
│ ├── images # Static images
│ ├── favicon.ico # Favicon for the application
│── /api
│ ├── hello.js # Example API route
│── .env # Environment variables
│── package.json # Project metadata and dependencies
│── README.md # Project documentation
```

### Explanation:
- **/pages**: Contains the main pages of your application, including the entry point (`index.js`) and custom application setup (`_app.js`). The `api` directory within `pages` is used for server-side API routes.
- **/components**: Houses reusable UI components like `Header`, `Footer`, and `Layout`.
- **/styles**: Contains global and module-specific CSS files for styling the application.
- **/public**: Used for static assets like images and the favicon.
- **/api**: Contains server-side logic for handling API requests.
- **.env**: Stores environment variables needed for configuration.
- **package.json**: Lists project dependencies and scripts.
- **README.md**: Provides documentation and instructions for the project.

This structure is designed to be modular and scalable, making it easier to maintain and extend the application.
```

## 📸 Screenshots
Include screenshots of the application here.

## 🤝 Contributing
1. Fork the repository.
2. Create a new branch (`git checkout -b feature/YourFeature`).
3. Commit your changes (`git commit -m 'Add some feature'`).
4. Push to the branch (`git push origin feature/YourFeature`).
5. Open a pull request.

## 📄 License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
```

Make sure to replace placeholders like `yourusername`, `yourproject`, and any other project-specific details with actual information relevant to your project.
```